如題,正式寫代碼之前測試過ESP8266模塊,可以通過串口調試軟件進行正常的雙向通信,基本可以證明模塊能正常運作、硬件連接無誤。
但是!!問題來了!!寫代碼的時候發現串口接收不到數據。
調試后有兩個發現:
- 串口發送數據send函數均可以正常運行(表現為,在串口發送數據函數代碼最后加led1=~led1,運行起來led1會閃爍,證明發送函數運行成功)
- C語言編程實現的ESP8266發送AT指令,可以在串口調試助手上觀察到,但不會引起串口中斷(不會進入中斷服務函數,證明沒有接收到數據,可能沒有發送成功?)【用串口調試助手發送的AT指令,就會引起串口中斷,區別如下圖】
Cyy.png (118.02 KB, 下載次數: 23)
下載附件
2021-5-29 17:10 上傳
XCOM.png (94.99 KB, 下載次數: 27)
下載附件
2021-5-29 17:10 上傳
另外一個問題:中斷服務函數里,當RI為1時,將SBUF里的數據顯示到LCD上,按理來說向ESP8266發送‘AT’,ESP8266會返回‘OK’,也就是LCD上應該顯示‘OK’。但是,用串口調試助手向ESP8266發送AT ,串口調試助手上顯示收到OK,LCD上顯示的卻是“AT”
|