55CC.mp4
请看视频,我是uart收到数据后追加,前两个数据都正常,第三个数据没有收到55CC,而是5500,导致我的程序没有判断结束,继续追加。请问,是否存在违反通信协议的这种情况?是否频繁?我们代码端需要加以判断吗?
查看更多
补充说明,视频是控制台的历史记录,所以是一行一行展示。实际情况是瞬间发生的,很快的。
补充,这种情况似乎很常见,我又遇到一次。我已经加了判断(只要上报数据长度达到要求就截止,而不再是遇到55CC结尾才截止),结果,前3个数据正常,第4个数据又是0000结尾(数据长度已经是通信协议的约定)。
请问,帧尾不正确的数据,帧内数据是否可以采纳?我是担心帧内数据错误会导致我的结果异常,甚至崩溃。
只要上报数据长度达到要求就截止,解决了不停追加的问题,但帧内数据是否可以采纳?
发布 问题
分享 好友
手机 浏览
回到 顶部
好像是接触不良的原因?串口助手工具也显示了这样的上报数据:
你可以先单独测试2450,查看他的数据变化是怎么样的,先测通单独模块,单独测试数据正常之后再去对接你的单片机,像你这种情况可能是代码中判断逻辑有问题,资料有基于STM32的数据解析简单例程,可以进行参考,然后再自行排查代码的数据接收判断逻辑。