CAN通信有时候突然发不出消息?
明明前面都能正常收发,运行一段时间后就莫名其妙卡住了?用CAN FD的话某些参数不兼容也会卡。 用逻辑分析仪抓一波看看情况。 发不出去时TxMailbox是不是满了? 建议加个错误中断看看触发了没。 主从通信时ID冲突也会有这问题。 我之前是定时器调度出错导致CAN不发。 看看是不是滤波器配置太严格? 试试关掉自动重传看看效果? CAN收发芯片供电稳吗? 是不是进入Bus-Off状态了? 针对STM32G4的CAN通信在运行一段时间后突然无法发送消息的问题,可以从硬件连接方面进行排查和解决
可能是CAN总线错误导致进入被动/总线关闭状态。 中断优先级不足。 ISR耗时过长? 软件逻辑缺陷,未正确处理发送完成标志或者未处理总线错误中断。 当检测到总线关闭时,可尝试重新初始化CAN控制器或等待一段时间后自动恢复。
检查CAN总线两端是否正确连接120Ω终端电阻,缺少电阻会导致信号反射,影响通信稳定性
CAN总线错误计数器超过阈值时,节点会进入总线关闭状态,此时无法发送消息。 确保CANH和CANL线未出现断路、短路或接触不良,尤其是总线分支长度和布线方式是否符合规范(如避免与电源线平行走线,使用双绞屏蔽线)。
页:
[1]