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

STM32 CAN通讯收发异常

[复制链接]
猪小屁 提问时间:2024-4-16 09:11 / 未解决
[md]项目里有个CAN收发相关的板子,用的是STM32F103芯片。在与上位机的CAN交互过程中经常会出现通讯错误的情况,表现在上位机发送报文后没有收到回复。用CAN调试器接到该板子后给其发消息,调试器会显示总线数据错误,如下图中会亮红色:

![image.png](data/attachment/forum/202404/16/090839ohkyn99jkzuzphnf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/300 "image.png")

但是将板子接上烧录器在线调试,并在CAN接收中断中打上断点,此时再向板子发送CAN信息,程序会显示进入接收中断,继续运行后恢复正常,拔掉调试器后又能正常跑。百思不得其解,有哪位大神支支招。
image.png
收藏 评论8 发布时间:2024-4-16 09:11

举报

8个回答
知足- 回答时间:2024-4-16 09:45:08

看不到相关的代码,很难查找原因。

实际上我用cubeMX生成代码,在波特率和采样点匹配的情况下,从没见过通信错误的情况。

猪小屁 回答时间:2024-4-16 10:02:05

知足- 发表于 2024-4-16 09:45
看不到相关的代码,很难查找原因。</p>
<p>实际上我用cubeMX生成代码,在波特率和采样点匹配的情况下,从没见 ...

[md]b72c9eefbafc62a5292b3e86237cd0c.png

6ff73c3f462511952fc3f55562afb7e.png

c6e97e72e5014452df5ded2d53d78ab.png

7acff82acfa4af132038ac1a4cc7cef.png

这是CAN初始化的代码,您看哪里可能报错吗

6ff73c3f462511952fc3f55562afb7e.png
c6e97e72e5014452df5ded2d53d78ab.png
7acff82acfa4af132038ac1a4cc7cef.png
butterflyspring 回答时间:2024-4-16 10:13:11
手动复位一下你的板子,看看是否能正常。
猪小屁 回答时间:2024-4-16 13:48:55

butterflyspring 发表于 2024-4-16 10:13
手动复位一下你的板子,看看是否能正常。

板子没有设计复位按钮,但是断电重启没有用

知足- 回答时间:2024-4-16 16:48:12

上位机CAN采样点是多少,我看这里设置的是(1+5)/(1+5+6) = 50%,一般波特率500K以下推荐设置采样点87.5%。不知道是不是这个原因。

另外,模式配置我一般都设置这样,可以试试看:

image.png

猪小屁 回答时间:2024-4-17 09:39:52

知足- 发表于 2024-4-16 16:48
上位机CAN采样点是多少,我看这里设置的是(1+5)/(1+5+6) = 50%,一般波特率500K以下推荐设置采样点87.5 ...

[md]好的谢谢

xmshao 回答时间:2024-4-26 07:20:17
你检查下,看看两边CAN参数时序配置是否一致。再就是硬件方面的问题,比方线材,干扰啊这些。之前用过标准CAN,感觉CAN还是比较好用的,似乎都没遇到啥麻烦。
猪小屁 回答时间:2024-4-30 08:39:42

xmshao 发表于 2024-4-26 07:20
你检查下,看看两边CAN参数时序配置是否一致。再就是硬件方面的问题,比方线材,干扰啊这些。之前用过标准C ...

好的谢谢

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版