[其他ST产品] STM32 CAN通讯收发异常

[复制链接]
2285|14
 楼主| powerantone 发表于 2024-4-17 19:00 | 显示全部楼层 |阅读模式
项目里有个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信息,程序会显示进入接收中断,继续运行后恢复正常,拔掉调试器后又能正常跑。百思不得其解,有哪位大神支支招。


未说出口的像你 发表于 2024-5-20 13:33 | 显示全部楼层
有点像那里没配置好,才会导致这个
我吃小朋友 发表于 2024-5-20 16:00 | 显示全部楼层
你看看初始化顺序?估计有点关系吧
香水城 发表于 2024-5-20 17:08 | 显示全部楼层
这个只能现场调试查找,感觉跟板凳类似,怀疑跟配置初始化有关系,尤其时序。
一只眠羊 发表于 2024-5-20 18:00 | 显示全部楼层
我之前遇到过类似的,比如使用printf,如果不给keil勾选microUSB的话,就仿真能用,但实际断开仿真器不能用
在曼谷的春 发表于 2024-5-20 22:00 | 显示全部楼层
你直接使用正点原子的例程呢?试试?
月亮一键变蓝 发表于 2024-5-21 02:00 | 显示全部楼层
如果你会cubemx,可以用cubemx配置个工程,我觉得会好一些
失物招領 发表于 2024-5-21 04:00 | 显示全部楼层
这种是不是因为供电不对导致的?
将爱藏于深海 发表于 2024-5-21 08:00 | 显示全部楼层
看看你的配置或者初始化吧,感觉是哪里会有问题
classroom 发表于 2024-5-21 14:55 | 显示全部楼层
检查CAN控制器的中断配置和接收/发送FIFO配置是否正确。
春日负喧 发表于 2024-5-21 15:00 | 显示全部楼层
你的调试器是不是带外部供电输出功能啊?
她已醉 发表于 2024-5-21 17:00 | 显示全部楼层
你看看can的电路是不是设计错了?
laocuo1142 发表于 2024-5-21 17:00 | 显示全部楼层
外部干扰
laocuo1142 发表于 2024-5-21 18:00 | 显示全部楼层
检查CAN总线物理连接
故意相遇 发表于 2024-5-21 19:00 | 显示全部楼层
用逻辑分析仪抓一下?看看不接仿真器的时候,CAN是否有数据传出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

679

主题

4005

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部