最近做回来8块板子,使用的是STM32L431RCT6,发现有两块板子在上电后,CAN发送始终失败,但是能接收到总线数据。尝试办法:1、在程序中添加发送失败重启CAN代码,还是无法解决。2、在程序中添加发送失败系统复位函数,发现系统软复位后就能正常发送数据。 总体分析下来就感觉是上电后CAN模块没有初始化好,但是同样的程序在其他6块板子上就是正常的。初始化函数中也添加了初始化失败的打印输出,结果并没有发现初始化失败的输出信息。初始化函数使用的CubeMX生成。 希望论坛里有朋友能帮忙分析下原因,谢谢大家! |
评分
查看全部评分
1)比较板子 时钟频率 是否差异明显
2)发送时,比较 CAN 引脚波形差异,确认CAN 引脚电路差异。
评分
查看全部评分
加了,没效果