[STM32F4] 外部中断触发后系统偶尔假死

[复制链接]
395|26
Uriah 发表于 2025-10-2 07:33 | 显示全部楼层 |阅读模式
GPIO外部中断触发后,偶尔系统就像卡死了一样,不响应别的任务。看起来像是中断没退出,但堆栈用量测过没超,怀疑是中断里调用了不该调用的函数。
Clyde011 发表于 2025-10-2 07:37 | 显示全部楼层
我有次就是ISR里调用了malloc,直接挂了。
公羊子丹 发表于 2025-10-2 07:38 | 显示全部楼层
你中断里调用了HAL_Delay吗?这会卡死。
周半梅 发表于 2025-10-2 07:39 | 显示全部楼层
有可能是中断优先级配置错了。
帛灿灿 发表于 2025-10-2 07:40 | 显示全部楼层
我建议你用硬件watchdog试试。
童雨竹 发表于 2025-10-2 07:41 | 显示全部楼层
中断里最好别用printf,会乱套。
万图 发表于 2025-10-2 07:41 | 显示全部楼层
看下是不是触发抖动导致重入。
Wordsworth 发表于 2025-10-2 07:42 | 显示全部楼层
我怀疑是中断标志位没清掉。
Bblythe 发表于 2025-10-2 07:43 | 显示全部楼层
你换个输入源试试,看是不是硬件干扰。
Pulitzer 发表于 2025-10-2 07:44 | 显示全部楼层
假死的时候能JTAG进去吗?
 楼主| Uriah 发表于 2025-10-2 07:45 | 显示全部楼层
你栈深度真测过吗?调大点试试看。
lihuami 发表于 2025-10-2 21:40 | 显示全部楼层
GPIO与EXTI线映射错误              
lzmm 发表于 2025-10-4 08:55 | 显示全部楼层
​​ISR设计不当、资源竞争或硬件配置错误​​
bartonalfred 发表于 2025-10-4 10:21 | 显示全部楼层
中断标志未清除               
tifmill 发表于 2025-10-4 11:06 | 显示全部楼层
STM32 的中断是抢占式的,若低优先级中断未执行完毕,高优先级中断可抢占;但如果单个 ISR 执行时间超过系统关键任务的超时阈值 ,会导致系统失去响应。
robertesth 发表于 2025-10-4 11:53 | 显示全部楼层
中断优先级配置不当              
lihuami 发表于 2025-10-4 13:08 | 显示全部楼层
高频噪声或毛刺触发中断,导致系统频繁进入ISR。
eefas 发表于 2025-10-4 14:10 | 显示全部楼层
中断服务程序中包含延时、复杂计算或阻塞
beacherblack 发表于 2025-10-4 14:48 | 显示全部楼层
在 ISR 开头或确认中断触发后立即清除标志位
xiaoyaodz 发表于 2025-10-4 15:32 | 显示全部楼层
未禁用中断嵌套时,高优先级中断可能打断低优先级中断,导致逻辑混乱。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

154

主题

6174

帖子

1

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