一个网站 两个域名,网站建设典型经验,cms网站内容管理系统,wordpress mylifeQt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题 文章目录 Qt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题现象解决方法 现象
当有多包数据需要连续下发给下位机时#xff0c;比如下载数据等#x…Qt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题 文章目录 Qt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题现象解决方法 现象
当有多包数据需要连续下发给下位机时比如下载数据等下发后下位机发现数据包粘在一起了如果没有设计包尾且包长度不固定那么就会出现粘包问题即一包数据实际包含了一部分下一包的数据。
解决方法
1增加包头包尾下位机一个字节一个字节去读然后根据包头和包尾去组成完整的一包否则不做处理 2上位机发包间隔增加一定的延时下位机在一段时间内读取到的所有数据当成完整的一包
当使用时间作为判断时上位机需要间隔时间发送这个间隔发送可以使用QTime模拟sleep后串口发送写入
QTime t;
t.start();
while(t.elapsed()500)QCoreApplication::processEvents();
serialPort-write(xxx);