[STM32G4] CAN总线有时收不到报文,怀疑是中断优先级的问题

[复制链接]
175|10
周半梅 发表于 2025-10-16 07:54 | 显示全部楼层 |阅读模式
CAN正常运行一段时间后,偶尔会出现接收不响应的情况,但发送还行。用逻辑分析仪看,CAN线上信号是有的。怀疑是不是NVIC优先级没配好,中断被别的任务占掉了。
Clyde011 发表于 2025-10-16 08:00 | 显示全部楼层
检查一下是否开启了优先级分组,否则优先级不生效。
公羊子丹 发表于 2025-10-16 08:01 | 显示全部楼层
我遇过类似的,是FreeRTOS任务优先级设置太高抢了中断。
 楼主| 周半梅 发表于 2025-10-16 08:01 | 显示全部楼层
是不是用了HAL库的延时函数?那东西会卡中断。
帛灿灿 发表于 2025-10-16 08:02 | 显示全部楼层
如果用FIFO接收,注意别让它溢出,清标志要及时。
童雨竹 发表于 2025-10-16 08:03 | 显示全部楼层
调试的时候加个LED在中断里闪一下,看看是不是没进中断。
万图 发表于 2025-10-16 08:04 | 显示全部楼层
我之前是因为CAN回调函数里逻辑太重导致的。
Wordsworth 发表于 2025-10-16 08:05 | 显示全部楼层
有时候是滤波器配置不全,部分ID没被接收。
Bblythe 发表于 2025-10-16 08:06 | 显示全部楼层
G4的CAN时序比F1敏感,重新算一下位段配置试试。
Pulitzer 发表于 2025-10-16 08:07 | 显示全部楼层
中断里别调用printf,那样会把响应拖死。
Uriah 发表于 2025-10-16 08:08 | 显示全部楼层
你能复现吗?固定时段出现就好排查多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

6260

帖子

1

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