串口接收数据帧有冲突且数据丢失

2019-07-17 13:44发布

楼主做了一个串口接收数据的上位机,由于功能需求需要,串口接收数据的数据帧比较长,所以在接收大量数据时就会有出现一帧数据还未接收完,下一帧数据就再发过来把上一帧数据冲掉的情况出现,具体如面的示意图所示:
QQ截图20160607101552.jpg
正常的数据帧为aaddssee01032045189128,但是因为接收数据帧有重叠,上一帧数据接收到aaddssee01032045时就被下一帧数据覆盖了,这2个拼成了aaddssee01032045aaddssee01032045189128 变成一个异常帧。
串口接收部分的程序如下:
QQ截图20160607102141.jpg

尝试了加长串口接收循环延时、加入帧头判断等等的办法都没有能解决。求问万能的电子发烧友,有么有朋友遇到同样情况的,怎么解决?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
hejin515
2019-07-18 11:46
八桂魁汉子 发表于 2016-6-7 16:10
下位机约1.8s发一帧数据,因为时序不是很严格,所以很难不冲突啊。我正在考虑把丢帧的异常数据舍弃掉算了,反正少几帧数据影响也不大

那你上位机的采样周期不应该小于1.8s,不然也没有意义。

一周热门 更多>