黑色裂变 发表于 2019-11-19 10:30:31

STM32L431RCT6 CAN上电后无法正常发送,但是能接收


最近做回来8块板子,使用的是STM32L431RCT6,发现有两块板子在上电后,CAN发送始终失败,但是能接收到总线数据。尝试办法:1、在程序中添加发送失败重启CAN代码,还是无法解决。2、在程序中添加发送失败系统复位函数,发现系统软复位后就能正常发送数据。

总体分析下来就感觉是上电后CAN模块没有初始化好,但是同样的程序在其他6块板子上就是正常的。初始化函数中也添加了初始化失败的打印输出,结果并没有发现初始化失败的输出信息。初始化函数使用的CubeMX生成。
希望论坛里有朋友能帮忙分析下原因,谢谢大家!

mylovemcu 发表于 2019-11-19 10:54:38

上电以后增加延时函数待系统供电稳定以后再进行初始化

mikecai 发表于 2019-11-19 11:54:12

8块中,2块 板NG,6 块OK,感觉是板子差异啊,是否用不同批次的元器件啊?
1)比较板子 时钟频率 是否差异明显
2)发送时,比较 CAN 引脚波形差异,确认CAN 引脚电路差异。

黑色裂变 发表于 2019-11-19 14:35:12

mylovemcu 发表于 2019-11-19 10:54
上电以后增加延时函数待系统供电稳定以后再进行初始化

加了,没效果

ljtzsd 发表于 2020-6-9 22:10:56

楼主,请问问题解决了吗?
页: [1]
查看完整版本: STM32L431RCT6 CAN上电后无法正常发送,但是能接收