如何把从串口读到的数据转换为十六进制的字符

来源:互联网 发布:windows10自带看图软件 编辑:程序博客网 时间:2024/04/30 22:41

 

//读取串口
void MySerial::readMyCom()
{
    QByteArray temp;
    if(myCom->bytesAvailable() >= 8)
    {
        temp = myCom->readAll(); //读串口缓冲区数据  
    }
    QDataStream out(&temp,QIODevice::ReadWrite);    //将字节数组读入
    while(!out.atEnd())
    {
        qint8 outChar = 0;
        out>>outChar;   //每字节填充一次,直到结束
        QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0'));
        //十六进制的转换
        recBrowser->insertPlainText(str);
    }
    recBrowser->insertPlainText(tr("\n"));
}