首页 > 其他 > 详细

qml 串口通信 数据格式转换记录

时间:2021-08-30 06:09:41      阅读:8      评论:0      收藏:0      [点我收藏+]

发送数据

  1. 16进制HEX转QByteArray

    QString CMD="55AA88FFFFFFFF";
    QByteArray str2 = QByteArray::fromHex (CMD.toLatin1().data());
    
  2. 需要循环发送 则需要在write 后加

    serial->write(str2);
    if(!serial->waitForBytesWritten())   //这一句很关键,决定是否能发送成功
    {
      qDebug()<<"serial write error";
    }
    

接收数据处理

  1. 转换成QString

        data.toHex();
    
  2. QByteArray 转int

      QByteArray dr;
      dr[0]=data[5];
      dr[1]=data[6];
       bool ok;
       int dta=dr.toHex().toInt(&ok,16);
       同理byte
        QByteArray b3;
        b3.append(data[3]);
        int states=b3.toHex().toInt(&ok,16);

qml 串口通信 数据格式转换记录

原文:https://www.cnblogs.com/ggs403/p/15196011.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!