发送数据
-
16进制HEX转QByteArray
QString CMD="55AA88FFFFFFFF"; QByteArray str2 = QByteArray::fromHex (CMD.toLatin1().data());
-
需要循环发送 则需要在write 后加
serial->write(str2); if(!serial->waitForBytesWritten()) //这一句很关键,决定是否能发送成功 { qDebug()<<"serial write error"; }
接收数据处理
-
转换成QString
data.toHex();
-
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);