QT串口接收十六进制

前段时间写了个“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

那就在这里结束吧。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值