前段时间写了个“QT串口发送十六进制”,为了对应,现在来个下部剧集。
我要接收的数据比较长,“01 03 24 01 19 …………00 D5 F6”中间省略一大截,为将这些数据接收到一个字符串中,参考QT论坛里的文章,总结如下:
QByteArray tmp;
if(highCom->bytesAvailable() >= 41)
{
tmp = highCom->readAll();
QDataStream out(&tmp,QIODevice::ReadWrite);
while(!out.atEnd())
{
qint8 outChar = 0;
out>>outChar;
QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0'));
strHex += str;
}
qDebug()<<strHex;
}
没有贴出完整的函数,不过这部分就已经可以解决了。 strHex中就是存储的接收十六进制数据。
想要做什么处理,就根据实际情况来吧。
当然可以参考网址:http://www.qtcn.org/bbs/read-htm-tid-44071.html
那就在这里结束吧。