插拔串口有可能会产生一个异常数据

本文描述了在嵌入式系统中,插拔485串口导致MCU复位重启的现象。分析表明,问题可能源于硬件干扰或软件的CRC校验错误。通过HardFault_Handler定位到问题代码,发现未正确处理接收数据长度导致的异常。总结指出,面对这类问题,开发者应跳出思维定势,结合硬件和软件知识进行综合排查。
摘要由CSDN通过智能技术生成

现象:

1、插拔485容易导致mcu复位重启;

2、接入Jlink调试工具(电源、地、数据、时钟),插拔485,不会有mcu复位重启现象;

3、接示波器,示波器与机器共地,也不会有mcu复位重启现象;

4、485单独插拔一根线,只接A或B,mcu复位重启;

综上:通过现象,感觉是硬件引入了干扰,大概率是硬件问题;

软件人的思维:软件的逻辑不会有问题,软件有问题早出问题了,不用等到插拔等操作。触发异常的动作也是由于外部硬件的变动。

硬件的思维:我的LDO稳压妥妥的,怎么可能会是由波动引起的复位。

硬件无意中还做了一个事情:

5、只接B的前提下(A不接),上电,mcu自动的反复复位重启;

这个现象和4现象的区别是,4现象关注点是:

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值