针对STM32低功耗模式下RTC唤醒失效,首要排查LSI时钟源。LSI在低功耗下易受温度/电压漂移,导致RTC计数不准或唤醒中断未触发。实操建议:1) 启用LSI校准,使用LSE或HSE作为参考,通过RTC_Calib寄存器写入校准值,确保唤醒周期误差在允许范围;2) 检查RTC中断使能(RTC_IT_WUT)和NVIC配置,确保在低功耗模式(如STOP)下RTC中断能唤醒MCU,需设置EXTI线17(RTC唤醒)为上升沿触发;3) 若备份域(VBAT)供电不稳,RTC可能复位,导致唤醒配置丢失。建议在进入低功耗前,重新初始化RTC并验证RTC_ISR的WUTF标志。若问题持续,可尝试切换至LSE(若硬件支持),其精度更高。最后,用调试器在唤醒中断处设断点,确认是否真正进入中断,排除电源管理配置(如PWR_EnterSTOPMode)导致的时钟门控问题。
mcuku 阿沐 · 2026-08-27