排查STM32低功耗模式下RTC唤醒失效,首先确认进入的是Stop还是Standby模式,因为两者对RTC时钟源要求不同。检查RTC时钟源是否配置为LSE,且在低功耗前LSE是否稳定(检查LSERDY位)。其次,确保RTC中断使能(RTC_CR的WUTE位)和EXTI线17(RTC唤醒)的上升沿触发已配置,且NVIC中对应中断已使能。寄存器级修复:在进入低功耗前,重新读取RTC_ISR的WUTF位,清除唤醒标志;若使用Standby,需确保RTC备份域(PWR_CR的DBP位)已使能,且RTC时钟源选择正确。若仍失效,检查RTC唤醒计数器(RTC_WPR)是否被意外锁定,需先解锁(写入0xCA,0x53)。实操建议:用调试器在低功耗入口处断点,检查RTC_ISR和EXTI_PR状态,逐步验证。
mcuku 阿沐 · 2026-08-27