Qt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题

news/2024/11/17 6:46:28/

Qt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题

文章目录

  • Qt利用QTime实现sleep效果分时调用串口下发报文解决串口下发给下位机后产生的粘包问题
    • 现象
    • 解决方法

现象

当有多包数据需要连续下发给下位机时,比如下载数据等,下发后下位机发现数据包粘在一起了,如果没有设计包尾且包长度不固定,那么就会出现粘包问题,即一包数据实际包含了一部分下一包的数据。

解决方法

1:增加包头包尾,下位机一个字节一个字节去读,然后根据包头和包尾去组成完整的一包,否则不做处理;
2:上位机发包间隔增加一定的延时,下位机在一段时间内读取到的所有数据当成完整的一包;

当使用时间作为判断时上位机需要间隔时间发送,这个间隔发送可以使用QTime模拟sleep后串口发送写入:

QTime t;
t.start();
while(t.elapsed()<500)QCoreApplication::processEvents();
serialPort->write(xxx);

http://www.ppmy.cn/news/1096706.html

相关文章

前端 按钮 loading效果阻断不了快速点击,执行防抖操作进行阻断接口连续调用

需求描述&#xff1a; 页面中执行了按钮的连续点击操作&#xff0c;虽然前端在按钮中加了loading效果&#xff0c;但是发现&#xff0c;如果点击速度很快&#xff0c;那么loading效果来不及赋值并执行&#xff0c;此时就会出现连续的接口调用造成数据保存或流程数据出现错误或重…

ABAP WS_DELIVERY_UPDATE 报错 BS013

在使用 WS_DELIVERY_UPDATE 创建内向交货单时 报错&#xff1a;System status ESTO is active (EQU ***) 可以用事务代码IE03--->历史去看下 你可以手动将它的状态去改回EDEL 或者 SLOR IE02--> Special serial no. functions --> Manual transaction.

0017Java程序设计-spr农业过程化管理系统

摘 要目 录系统设计开发环境 摘 要 本农业过程化管理系统就是建立在充分利用现在完善科技技术这个理念基础之上&#xff0c;并使用IT技术进行对农业过程化的管理&#xff0c;从而保证种植户能种植出优质的农作物&#xff0c;可以实现农业过程化的在线管理&#xff0c;这样保证…

Vue2面试题100问

Vue2面试题100问 Vue2面试题100问1.简述一下你对Vue的理解2.声明式和命令式编程概念的理解3.Vue 有哪些基本特征4.vue之防止页面加载时看到花括号解决方案有哪几种&#xff1f;5.Vue中v-for与v-if能否一起使用&#xff1f;6.vue中v-if与v-show的区别以及使用场景7.v-on可以监听…

无涯教程-JavaScript - IMDIV函数

描述 IMDIV函数以x yi或x yj文本格式返回两个复数的商。 $$IMDIV(z1,z2) \frac {(a bi)} {(c in)} \frac {{ac bd)(bc-ad)i} {c ^ 2 d ^ 2 } $$ 语法 IMDIV (inumber1, inumber2)争论 Argument描述Required/OptionalInumber1The complex numerator or dividend.Req…

代码随想录算法训练营Day56 || ● 583. 两个字符串的删除操作 ● 72. 编辑距离

今天接触到了真正的距离&#xff0c;但可以通过增删改操作来逼近。 问题1&#xff1a;583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字…

统计学习方法 | 感知机

python代码实现 import numpy as np import matplotlib.pyplot as plt plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus]False建立感知机模型(原始形式) def PM(X,Y):#设置感知机模型w和b、h(学习率)的初值wnp.array([[0,0]])b0h1#迭代&#xff0c;更…

数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题

本文解读了新加坡国立大学马天白教授团队、字节跳动基础架构-计算-流式计算团队联合发表在国际数据库与数据管理顶级会议 VLDB 2023 上的论文“StreamOps: Cloud-Native Runtime Management for Streaming Services in ByteDance”&#xff0c;介绍字节跳动内部基于数万 Flink …