QT串口程序接收到几个16进制数如何在前面和后面加上固定格式的16进制数,然后发送出去
QT 串口接收到几个16进制数如何在前面和后面加上固定格式的16进制数,然后串口发送出去
QString strHex;
QByteArray Hex_Send;
if(myCom->bytesAvailable()>=14)
{
//ui->textBrowser->insertPlainText(tr("\n"));
temp = myCom->readAll(); //读串口缓冲区数据
if(!temp.isEmpty())
{
ui->textBrowser->insertPlainText(tr(" 十六进制:"));
QDataStream out(&temp,QIODevice::ReadWrite); //将字节数组读入
while(!out.atEnd())
{
qint8 outChar =0;
out>>outChar; //每字节填充一次,直到结束
QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0'));
//十六进制的转换
ui->textBrowser->insertPlainText(str);
strHex +=str;
}
}
qDebug()<<strHex;//调试输出
ui->textBrowser->insertPlainText(tr("\n"));
Hex_Send=strHex.toLatin1();
myCom->write(Hex_Send);