记录:can上电一直发送错误帧排查问题过程

硬件:mcu    STM32F103C8T6

          can收发器 NXPTJA050 

软件:keil 5.29

 

PCB原理图如下

记录:can上电一直发送错误帧排查问题过程_第1张图片

记录:can上电一直发送错误帧排查问题过程_第2张图片

 错误现象:stm32单步调试发现在can初始化后,配置完can滤波器后can错误寄存器ESR立马检测到错误,但是can的errorcode为0

记录:can上电一直发送错误帧排查问题过程_第3张图片

找了一块正常的板子在线调试,正常的情况下在can初始化滤波器配置后can的ESR寄存器应该都是0的。因此定位到硬件错误,在换了光耦、换了TJA1050后问题依旧。于是开始怀疑是MCU的问题,将TJA050取下,can路悬空的情况下在线debug,can错误寄存器ESR还是不为0,这就说明是MCU的问题了,换掉MCU重新烧程序OK了! 

 

 

总结:一直听说市场上有翻新MCU坑惨嵌入式软件工程师的情况,不知道这次是不是中奖了,就算是全新的MCU也不能保证100%的正常。这次为了排查错误还专门写了个只有can接口的程序,前前后后一共花了3天时间,如何在软件中检测MCU是否正常,以减少这种坑爹的情况再次发生, 以后需要留意着方面的信息

你可能感兴趣的:(STM32)