找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 23646|回复: 6
收起左侧

STM32驱动无线WIFI模块ESP8266的学习心得

  [复制链接]
ID:324568 发表于 2018-5-8 14:15 | 显示全部楼层 |阅读模式
作为一个大学生,我学过51之后,觉得这是一款很经典的单片机。但毕竟51作为8位单片机,功能还是有局限性,然后我着手学stm32单片机,我做的第一个就是基于wifi模块的led灯系统。首先,作为新手,我买的是STM32F103ZE开发板,然后客服送我一个wifi模块和资料。资料包括wifi模块esp8266的学习资料和stm32的资料。然后我对着资料,开始学习,这里只简单介绍esp8266的使用。
开发板上的有接口可以直接插上esp8266, 图片1.png 在客服给的stm32资料里面搭建好keil5开发环境。在esp8266的资料里面有单片机和手机传输数据的历程,将历程下载到开发板里面,还要一个手机app 图片2.png ,都在资料包里面,安装到手机上面,然后修改一下代码,设置为传输数据为“open”led灯开,传输数据为“close”led灯关。 图片3.png

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"                           
  5. #include "lcd.h"  
  6. #include "key.h"     
  7. #include "usmart.h"  
  8. #include "malloc.h"
  9. #include "sdio_sdcard.h"  
  10. #include "w25qxx.h"   
  11. #include "ff.h"  
  12. #include "exfuns.h"   
  13. #include "text.h"
  14. #include "usart3.h"
  15. #include "touch.h"
  16. #include "common.h"


  17. int main(void)
  18. {
  19.         u8 key,fontok=0;
  20.            Stm32_Clock_Init(9);        //系统时钟设置
  21.         delay_init(72);                        //延时初始化
  22.         uart_init(72,115200);         //串口1初始化
  23.         usart3_init(36,115200);  //串口3初始化
  24.         LCD_Init();                                //初始化液晶
  25.         LED_Init();                 //LED初始化        
  26.         KEY_Init();                                //按键初始化         
  27.         usmart_dev.init(72);        //usmart初始化       
  28.         TP_Init();                                //初始化触摸屏
  29.         my_mem_init(SRAMIN);                //初始化内部内存池            
  30.         exfuns_init();                        //为fatfs相关变量申请内存  
  31.   f_mount(fs[0],"0:",1);                 //挂载SD卡
  32.         f_mount(fs[1],"1:",1);                 //挂载FLASH.
  33.         key=KEY_Scan(0);  
  34.         if(key==KEY0_PRES)                //强制校准
  35.         {
  36.                 LCD_Clear(WHITE);        //清屏
  37.                 TP_Adjust();                  //屏幕校准
  38.                 TP_Save_Adjdata();          
  39.                 LCD_Clear(WHITE);        //清屏
  40.         }
  41.         fontok=font_init();                //检查字库是否OK
  42.         if(fontok||key==KEY1_PRES)//需要更新字库                                 
  43.         {
  44.                 LCD_Clear(WHITE);                           //清屏
  45.                 POINT_COLOR=RED;                        //设置字体为红色                                
  46.                 LCD_ShowString(60,50,200,16,16,"ALIENTEK STM32");
  47.                 while(SD_Init())                //检测SD卡
  48.                 {
  49.                         LCD_ShowString(60,70,200,16,16,"SD Card Failed!");
  50.                         delay_ms(200);
  51.                         LCD_Fill(60,70,200+60,70+16,WHITE);
  52.                         delay_ms(200);                    
  53.                 }                                                                                                                     
  54.                 LCD_ShowString(60,70,200,16,16,"SD Card OK");
  55.                 LCD_ShowString(60,90,200,16,16,"Font Updating...");
  56.                 key=update_font(20,110,16,"0:");//从SD卡更新
  57.                 while(key)//更新失败               
  58.                 {                                           
  59.                         LCD_ShowString(60,110,200,16,16,"Font Update Failed!");
  60.                         delay_ms(200);
  61.                         LCD_Fill(20,110,200+20,110+16,WHITE);
  62.                         delay_ms(200);                       
  63.                 }                   
  64.                 LCD_ShowString(60,110,200,16,16,"Font Update Success!");
  65.                 delay_ms(1500);       
  66.                 LCD_Clear(WHITE);        //清屏               
  67.         }  
  68.         atk_8266_test();                //进入ATK_ESP8266测试
  69. }

复制代码

所有资料51hei提供下载:
(寄存器版本,适合战舰V3和精英STM32开发板)扩展实验13 ATK-ESP8266 WIFI模块测试实验.rar (1.64 MB, 下载次数: 319)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:425686 发表于 2018-11-16 17:28 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:483888 发表于 2019-3-17 14:36 | 显示全部楼层
楼主调用memcmp函数是不是要添加个<string.h>头文件,可是我添加了之后memcmp函数还是调用不了呢
回复

使用道具 举报

ID:613112 发表于 2019-9-18 16:18 | 显示全部楼层
我有stm32的那个keil5,但是上传不了,你可以去正点原子下
openedv点com/thread-13912-1-1.html
回复

使用道具 举报

ID:589232 发表于 2019-10-3 14:30 | 显示全部楼层
修改哪里
回复

使用道具 举报

ID:687726 发表于 2021-5-26 14:20 | 显示全部楼层
直接将源码下到板子里就能用嘛?还需要对ESP8266进行AT指令设置嘛?
回复

使用道具 举报

ID:422924 发表于 2021-5-27 23:50 | 显示全部楼层
感谢楼主,需要用,先收藏了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表