STM32 485出现漏包 丢包 解决方法

基于STM32 485串口出现漏包 丢包的现象

        回溯一下整个起因,最近做了一个简单转接班,需要将can接收到数据以485串口转发出去,通过一顿蛮干,基本实现了其转发功能。使用USB转485工具,能将数据完整的实现收发功能,但与主板连接后,却会出现丢包、漏包的情况。

        这个情况当然是不被允许的,是不对的,是错误的。所以就查阅资料,发现485通讯是容易出问题的,容易被干扰的,和收发芯片的硬件也会有关系等。

        总结了这些出错的原因,然后再回头看自己编写的代码,发现自己的代码只对数据包的报文头进行了判断,这容易导致乱码、漏一个字节这种偶然事件的影响。

        解决方案:增加判断机制,增加代码的健壮性,对数据包中的头尾、长度、校验位各级进行判断机制后,数据收发就逐渐稳定。

        问题很简单,但确实是困扰了我几天,所以在此记录,希望能帮助到你们。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值