上篇文章提到了如何使用usb轉ttl模組除錯esp8266模組以及該模組的幾種工作方式。此篇將會介紹如何實現esp8266模組與微控制器的通訊。
功能介紹:esp8266模組與stm32微控制器的串列埠三之間互相通訊,本人測試的是esp8266模組的sta做客戶端的模式。
與usb轉ttl模組除錯步驟相同,首先通過at指令使wifi模組進入sta模式下的透傳模式。不同的是,usb轉ttl模組除錯時我們是通過串列埠除錯助手給其傳送at指令,而此時是需要串列埠三自動給wifi模組傳送at指令,並判斷返回的資訊。
直接上**:
此函式中有乙個重要的函式,就是esp8266_send_cmd();這就是我們自己定義的向esp8266傳送命令的函式void
esp8266_start_trans
(void
)
此處可以看到通過u3_printf()函式向esp8266模組傳送指定的at指令,然後判斷esp8266返回的命令是否是正確的,並通過串列埠一的printf()把傳送的命令和接收的命令列印到串列埠除錯助手上,方便觀察。//向esp8266傳送命令
//cmd:·傳送的字串命令´ack:期待接收到的應答命令;waittime:等待時間
//返回值:0 傳送成功 1 傳送失敗
u8 esp8266_send_cmd
(u8 *cmd,u8 *ack,u16 waittime)
usart3_rx_sta=0;
}}if(waittime==
0)res=1;
}return res;
}
下面附上串列埠三的傳送函式
這是兩者之間通訊的重要幾步,把程式燒錄到開發板上,同時開啟串列埠除錯助手和網路除錯助手。//´串列埠三傳送函式
//確保一次傳送資料不超過usart3_max_send_len位元組
void
u3_printf
(char
* fmt,...)}
從左側的串列埠除錯助手上可以觀察到傳送的at指令和收到的返回資訊,此時模組成功進入到透傳模式,即可實現pc端與串列埠三之間的通訊。此時,使用串列埠除錯助手傳送訊息可以看到網路除錯助手上並沒有顯示對應的訊息,這並不代表二者之間通訊失敗。需要明白,我們配置的是串列埠三與pc端之間的通訊,而串列埠除錯助手實際上是串列埠一與電腦之間的通訊。此時,只需將串列埠一接收到的資料傳遞給串列埠三,再由串列埠三傳送出去即可。同樣,當pc端向串列埠三傳送訊息時,將串列埠三接收到的訊息通過串列埠一列印出來,就可以從串列埠除錯助手上觀察到了。如圖
這樣我們就可以清晰地觀察到二者之間的通訊狀況。
接下來就要考慮如何退出透傳模式了,同樣的自定義了退出安透傳模式的函式
在這裡,我採用了定時器3計時,如果10s沒有接收到訊息,就退出透傳模式。定時器中斷的配置這裡就不多說了。//退出透傳模式 0 退出成功 1 退出失敗
//通過wifi模組傳送三個連續的「+」退出
u8 esp8266_quit_trans
(void
)
在這裡不得不提一下本人在除錯過程中遇到的問題:
在第一步中配置esp8266模組進入透傳模式時,通過串列埠除錯助手列印出來的資訊可以看到程式卡到了「wifi got ip",就是無法進行下一條at指令,此時開啟網路除錯助手傳送訊息顯示 」沒有連線物件「,反覆觀察程式並沒有問題。然後就像是不是模組出問題了,我嘗試用usb轉ttl除錯esp8266,發現可以除錯成功,證明模組是沒有問題的。然後各種網上找答案也沒有找到解決辦法,然後偶然不經意間發現程式中pc端的ip位址輸錯了,「174」誤輸成了「147」,更正後再次除錯,成功了。不得不吐糟一下,真是浪費了好長時間。以後在寫**的時候一定要認真在認真! ! !
本人小白乙個,文中如有錯誤還請指正。
ESP8266學習筆記
因為此模式可控性高且方便,所以推薦此模式 測試指令 at 應用模式設定 at cwmode 3 ap 模式 1 esp8266模組作為熱點,實現手機或電腦直接與模組通訊,實現區域網無線控制。sta 模式 2 esp8266模組通過路由器連線網際網路,手機或電腦通過網際網路實現對裝置的遠端控制 sta...
esp8266學習筆記
上學以前買了一片esp8266 一直沒用 也是醉了 最近有時間拿出來鼓搗一下 發現功能很強大 是內嵌了 處理器有wifi功能的一款小晶元 還便宜 esp8266 我知道的開發方式 有 可能不全 1 arduino ide for esp8266 2 刷nodemcu 用esploader 進行lua...
nodeMCU學習筆記 ESP8266
1 nodemcu學習筆記 快速上手 2 nodemcu學習筆記 tmr模組 3 nodemcu學習筆記 gpio模組 4 nodemcu學習筆記 pwm模組 5 nodemcu學習筆記 uart 附透傳例子 6 nodemcu學習筆記 wifi模組 上 7 nodemcu學習筆記 wifi模組 中...