lmhub连续丢帧问题

现象:总是出现一段时间接收不到帧的情况。然后又恢复了。


发现问题原因:
查看代码突然发现如果在读第一片的时候长度和片数错了,比如本来应该是4片,读出来变成了30片,那么就会直到30片后才会从新读帧头,那么就会丢真多帧。所以现在添加了检验,读出帧长度计算应该得片数,然后和读出的进行对比,如果不等认为是坏帧。那么如果读错最多错一帧,不会出现连续丢帧的情况。

总结:必需对每一个外界读入的关键数据进行有效性检测。尤其是边界问题。这里因为这些帧都是从外界输入的,所以很可能是无意义数据,所以必须检测有效性。 

你可能感兴趣的:(lmhub连续丢帧问题)