我用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中断
-
复制代码
求各位大神帮忙看看。要怎么才能获取到我需要的关键信息。
|