qt串口接收到的数据按16进制处理

mac2024-04-01  74

折腾了两天,我还是太菜了

声明:单片机向串口打印使用"printf("%c",send[i]);",打印后上位机这边就可以按十六进制接收了。

代码

void DealData::dataToSeries(QByteArray bytes) { //测试打印是"\xFC\xFC\x00\x00\x80\b\x00\x00\x10\x01\r\n" qDebug()<<bytes; //用‘:’分隔每个数 QByteArray macAddress = bytes.toHex(':'); QString str[bytes.length()]; int j=0; for(int i=0; i<bytes.length(); i++) { for(;j<macAddress.length();j++) { //如果没有遇到‘:’就把字符添加进str,否则跳出并且j++ if(macAddress[j] != ':') { str[i] += macAddress[j]; } else { j++; break; } } } //打印测试 for(int l=0;l<bytes.length();l++) { qDebug()<<str[l]; } }

如果觉得有用帮我点个赞,可好?

最新回复(0)