-
在进行串口通信时由于串口接受的数据为16进制数
在界面传输到串口时候是以QString类型传输、进行转换16进制就是以十进制转换成16进制、可以传输成功、但是没一次9-10 19-20 99-100等就会出现数据丢失、所以进行通信时、可以直接将数据累加成16进制、然后再进行传输,就不会出现丢失数据的情况了。将数据进行16进制加减计算。
int _value=0;
_value++;
QString _str=“0” //当前数据为原始数据
int dec = str.toUInt(&ok, 16);
QString tmp = QString("%1").arg(0 + _value, 4, 16, QLatin1Char(‘0’));
qDebug()<<tmp ;tem就是当前计算出的结果;
//可以输出 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 等连续的16进制数
串口通讯时以16进制进行数据传输产生数据丢失
最新推荐文章于 2022-07-19 23:10:22 发布