本帖最后由 一撇一捺 于 2014-5-3 15:10 编辑
RT,6410板子通过USB转串口外接了ZigBee协调器,有3个ZigBee模块传递数据给协调器,每个模块的传输的数据(15个字节,最后一位位空格)格式为“1T=00.0H=00Z=0 ”,1代表第一个模块,后面的有2和3,我在QT应用程序中添加了9个QLineEdit分别用来显示对应的温度湿度震动数据,代码如图,打开ZigBee开关窗口什么也不显示(buf为char buf[500]),如果将数据全显示到一个textbrowser上(QByteArray temp=readAll();)可以正常实时地显示所有传感器传来的数据,说明串口功能正常,问题是出在我对接收到数据解析上了,换了好多种方法,都不行。各位,有没有什么好的建议指点一下我,不甚感激!备注(ZigBee模块中定义的数据格式):#define APP_PAYLOAD_LENGTH 15;BYTE Tx_buffer[APP_PAYLOAD_LENGTH];if( myADD==ADDR1)Tx_buffer[0] = '1';
if( myADD==ADDR2)Tx_buffer[0] = '2';
if( myADD==ADDR3)Tx_buffer[0] = '3';
Tx_buffer[1] = 'T';
Tx_buffer[2] ='=';
Tx_buffer[3]=display[2]+48;
Tx_buffer[4]=display[1]+48;
Tx_buffer[5]=46;
Tx_buffer[6]=display[0]+48;Tx_buffer[7]='H';
Tx_buffer[8]='=';
Tx_buffer[9]=shidu_shi+0x30;
Tx_buffer[10]=shidu_ge+0x30;
Tx_buffer[11]='Z';
Tx_buffer[12]='=';
Tx_buffer[13]=Keyvalue+0x30;
Tx_buffer[14]=' ';其中unsigned char display[5]={0x00,0x00,0x00,0x00,0x00}; |