作为一个大学生,我学过51之后,觉得这是一款很经典的单片机。但毕竟51作为8位单片机,功能还是有局限性,然后我着手学stm32单片机,我做的第一个就是基于wifi模块的led灯系统。首先,作为新手,我买的是STM32F103ZE开发板,然后客服送我一个wifi模块和资料。资料包括wifi模块esp8266的学习资料和stm32的资料。然后我对着资料,开始学习,这里只简单介绍esp8266的使用。
开发板上的有接口可以直接插上esp8266,
在客服给的stm32资料里面搭建好keil5开发环境。在esp8266的资料里面有单片机和手机传输数据的历程,将历程下载到开发板里面,还要一个手机app
,都在资料包里面,安装到手机上面,然后修改一下代码,设置为传输数据为“open”led灯开,传输数据为“close”led灯关。
单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "lcd.h"
- #include "key.h"
- #include "usmart.h"
- #include "malloc.h"
- #include "sdio_sdcard.h"
- #include "w25qxx.h"
- #include "ff.h"
- #include "exfuns.h"
- #include "text.h"
- #include "usart3.h"
- #include "touch.h"
- #include "common.h"
- int main(void)
- {
- u8 key,fontok=0;
- Stm32_Clock_Init(9); //系统时钟设置
- delay_init(72); //延时初始化
- uart_init(72,115200); //串口1初始化
- usart3_init(36,115200); //串口3初始化
- LCD_Init(); //初始化液晶
- LED_Init(); //LED初始化
- KEY_Init(); //按键初始化
- usmart_dev.init(72); //usmart初始化
- TP_Init(); //初始化触摸屏
- my_mem_init(SRAMIN); //初始化内部内存池
- exfuns_init(); //为fatfs相关变量申请内存
- f_mount(fs[0],"0:",1); //挂载SD卡
- f_mount(fs[1],"1:",1); //挂载FLASH.
- key=KEY_Scan(0);
- if(key==KEY0_PRES) //强制校准
- {
- LCD_Clear(WHITE); //清屏
- TP_Adjust(); //屏幕校准
- TP_Save_Adjdata();
- LCD_Clear(WHITE); //清屏
- }
- fontok=font_init(); //检查字库是否OK
- if(fontok||key==KEY1_PRES)//需要更新字库
- {
- LCD_Clear(WHITE); //清屏
- POINT_COLOR=RED; //设置字体为红色
- LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
- while(SD_Init()) //检测SD卡
- {
- LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
- delay_ms(200);
- LCD_Fill(60,70,200+60,70+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,70,200,16,16,"SD Card OK");
- LCD_ShowString(60,90,200,16,16,"Font Updating...");
- key=update_font(20,110,16,"0:");//从SD卡更新
- while(key)//更新失败
- {
- LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
- delay_ms(200);
- LCD_Fill(20,110,200+20,110+16,WHITE);
- delay_ms(200);
- }
- LCD_ShowString(60,110,200,16,16,"Font Update Success!");
- delay_ms(1500);
- LCD_Clear(WHITE); //清屏
- }
- atk_8266_test(); //进入ATK_ESP8266测试
- }
复制代码
所有资料51hei提供下载:
(寄存器版本,适合战舰V3和精英STM32开发板)扩展实验13 ATK-ESP8266 WIFI模块测试实验.rar
(1.64 MB, 下载次数: 320)
|