我用2套15F2K60S單片機+8266,一套做發射端,一套做接收端。
發射端已經弄好了一套程序,超聲波和聲音傳感器測量數據,數據格式如下:T=60.3cm,S=0E。發送是正常的。現在問題就是接收端解釋不了我需要的數據。早期測試的時候,串口2的數據是可以接收到的,但獲取不了需要的數據。
接收端的8266是用串口2的,代碼如下:
- //串口2中斷
- void Uart2() interrupt 8 using 1
- {
- IE2 = 0x00; //關閉串口2中斷
- if (S2CON & S2RI)
- {
- S2CON &= ~S2RI;
- res = S2BUF;
- test[RX_num2]=res;
- RX_num2++;
- if(res=='T'||u>0)
- {
-
- RX_buffer2[u]=res;
- u++;
- //i++;
- if(res=='E')
- {
-
- //添加對收到信息的處理代碼
- memset(RX_buffer2, 0, 30);//清緩存數據
- u=0;
- //i=0; //接收計數變量清0
- }
- }
- if(RX_num2>tbuf) RX_num2 = 0;
- }
- if (S2CON & S2TI)
- {
- S2CON &= ~S2TI;
- }
- IE2 = 0x01; //開啟串口2中斷
-
復制代碼
求各位大神幫忙看看。要怎么才能獲取到我需要的關鍵信息。
|