你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
zhumx 提问时间:2019-11-19 10:30 /
1ST金币

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

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

收藏 评论4 发布时间:2019-11-19 10:30

举报

4个回答
mylovemcu 回答时间:2019-11-19 10:54:38
上电以后增加延时函数  待系统供电稳定以后再进行初始化

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

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

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

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

加了,没效果
T涛哥T 回答时间:2020-6-9 22:10:56
楼主,请问问题解决了吗?
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版