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