[STM32F4] F4用CAN通信突然中断,是软件还是硬件问题?

[复制链接]
 楼主| Uriah 发表于 2025-6-22 07:36 | 显示全部楼层 |阅读模式
运行一段时间后CAN就不发包了,复位也没用,要断电才恢复。
Clyde011 发表于 2025-6-22 07:38 | 显示全部楼层
加个逻辑分析仪看看帧尾有没有CRC错。
公羊子丹 发表于 2025-6-22 07:39 | 显示全部楼层
检查下CAN BUS上有没有干扰。
周半梅 发表于 2025-6-22 07:40 | 显示全部楼层
是不是进了BUS OFF状态?看寄存器。
帛灿灿 发表于 2025-6-22 07:41 | 显示全部楼层
电阻匹配不好也会掉线。
童雨竹 发表于 2025-6-22 07:42 | 显示全部楼层
你用的CAN转USB设备会不会是瓶颈?
万图 发表于 2025-6-22 07:43 | 显示全部楼层
收发缓存用满了,没清除也会卡死。
Wordsworth 发表于 2025-6-22 07:44 | 显示全部楼层
HAL库CAN旧版BUG多,我都手动写的寄存器。
Bblythe 发表于 2025-6-22 07:44 | 显示全部楼层
F4的CAN建议用中断模式,轮询容易漏包。
Pulitzer 发表于 2025-6-22 07:46 | 显示全部楼层
看看是不是NVIC优先级设置冲突。
 楼主| Uriah 发表于 2025-6-22 07:46 | 显示全部楼层
电源不稳也会导致CAN芯片重启。
stormwind123 发表于 2025-6-24 16:06 | 显示全部楼层
CAN总线两端必须接120Ω终端电阻,若缺失或接触不良,信号反射会导致通信异常。
flycamelaaa 发表于 2025-6-24 16:06 | 显示全部楼层
用双绞屏蔽线,避免与电源线平行走线,减少干扰。
powerantone 发表于 2025-6-24 19:07 | 显示全部楼层
用示波器检测CAN信号波形是否正常,若发现波形失真或无信号,则需要更换CAN收发器芯片。
probedog 发表于 2025-6-24 22:08 | 显示全部楼层
不稳定的电源电压可能导致CAN模块工作异常。需为CAN模块提供独立且稳定的电源供电,必要时增加滤波电容以降低电源噪声。
classroom 发表于 2025-6-24 22:08 | 显示全部楼层
当CAN控制器进入错误被动状态或总线关闭状态时,如果没有及时处理,可能导致通信中断。可实现错误状态切换逻辑,例如在检测到错误时,停止当前CAN通道并切换至备用通道。
jcky001 发表于 2025-6-24 22:10 | 显示全部楼层
若中断处理函数存在拼写错误或未及时清除错误状态标志,可能导致通信中断。
cr315 发表于 2025-6-24 22:10 | 显示全部楼层
用CAN分析仪抓取原始报文,检查ACK槽是否正常响应,定位错误帧来源。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

139

主题

5850

帖子

1

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