找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 24718|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

STM32驅(qū)動無線WIFI模塊ESP8266的學(xué)習(xí)心得

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:324568 發(fā)表于 2018-5-8 14:15 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式
作為一個大學(xué)生,我學(xué)過51之后,覺得這是一款很經(jīng)典的單片機。但畢竟51作為8位單片機,功能還是有局限性,然后我著手學(xué)stm32單片機,我做的第一個就是基于wifi模塊的led燈系統(tǒng)。首先,作為新手,我買的是STM32F103ZE開發(fā)板,然后客服送我一個wifi模塊和資料。資料包括wifi模塊esp8266的學(xué)習(xí)資料和stm32的資料。然后我對著資料,開始學(xué)習(xí),這里只簡單介紹esp8266的使用。
開發(fā)板上的有接口可以直接插上esp8266, 在客服給的stm32資料里面搭建好keil5開發(fā)環(huán)境。在esp8266的資料里面有單片機和手機傳輸數(shù)據(jù)的歷程,將歷程下載到開發(fā)板里面,還要一個手機app ,都在資料包里面,安裝到手機上面,然后修改一下代碼,設(shè)置為傳輸數(shù)據(jù)為“open”led燈開,傳輸數(shù)據(jù)為“close”led燈關(guān)。

單片機源程序如下:
  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);        //系統(tǒng)時鐘設(shè)置
  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);                //初始化內(nèi)部內(nèi)存池            
  30.         exfuns_init();                        //為fatfs相關(guān)變量申請內(nèi)存  
  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)                //強制校準(zhǔn)
  35.         {
  36.                 LCD_Clear(WHITE);        //清屏
  37.                 TP_Adjust();                  //屏幕校準(zhǔn)
  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;                        //設(shè)置字體為紅色                                
  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();                //進(jìn)入ATK_ESP8266測試
  69. }

復(fù)制代碼

所有資料51hei提供下載:
(寄存器版本,適合戰(zhàn)艦V3和精英STM32開發(fā)板)擴展實驗13 ATK-ESP8266 WIFI模塊測試實驗.rar (1.64 MB, 下載次數(shù): 320)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

6#
ID:422924 發(fā)表于 2021-5-27 23:50 | 只看該作者
感謝樓主,需要用,先收藏了
回復(fù)

使用道具 舉報

5#
ID:687726 發(fā)表于 2021-5-26 14:20 | 只看該作者
直接將源碼下到板子里就能用嘛?還需要對ESP8266進(jìn)行AT指令設(shè)置嘛?
回復(fù)

使用道具 舉報

地板
ID:589232 發(fā)表于 2019-10-3 14:30 | 只看該作者
修改哪里
回復(fù)

使用道具 舉報

板凳
ID:613112 發(fā)表于 2019-9-18 16:18 | 只看該作者
我有stm32的那個keil5,但是上傳不了,你可以去正點原子下
openedv點com/thread-13912-1-1.html
回復(fù)

使用道具 舉報

沙發(fā)
ID:483888 發(fā)表于 2019-3-17 14:36 | 只看該作者
樓主調(diào)用memcmp函數(shù)是不是要添加個<string.h>頭文件,可是我添加了之后memcmp函數(shù)還是調(diào)用不了呢
回復(fù)

使用道具 舉報

樓主
ID:425686 發(fā)表于 2018-11-16 17:28 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表