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