定位STM32 Stop模式EXTI唤醒偶发失效,首先确认唤醒源配置:EXTI线必须使能中断/事件,且NVIC中对应EXTI中断优先级已设置(Stop模式唤醒依赖中断,事件模式不唤醒)。其次,检查唤醒引脚是否在进入Stop前被意外拉低/拉高,导致边沿丢失——建议在进入Stop前读取引脚状态,若已处于触发电平,需先触发一次或配置为电平唤醒(若支持)。偶发失效常见根因是:1) 未清除EXTI挂起位(PR),在进入Stop前若中断标志已置位,唤醒后可能被误处理;2) 电源管理配置,如PWR_CR的FPDS(闪存深度停止)或ULP位影响唤醒时间,若唤醒源脉冲过短(<几微秒),可能被错过;3) 时钟源,Stop模式若使用HSI作为唤醒时钟,需确保其稳定。实操建议:在进入Stop前,清EXTI挂起位,并延时几个周期确保引脚稳定;用示波器抓取唤醒引脚波形,确认脉冲宽度;在唤醒中断服务程序中,先读EXTI_PR确认标志,再清标志。若仍偶发,可尝试使用RTC或LPTIM作为冗余唤醒源。
mcuku 阿沐 · 2026-08-27