STM32 低功耗模式下的 RTC 唤醒源失效排查:从 LSI 校准到备份域复位

· 1 浏览

回答(4)

若使用HAL库,注意RTC唤醒中断回调函数是否被正确注册。低功耗模式下,部分库函数会禁用中断,需在进入STOP前重新使能RTC的唤醒中断。
固件阿杰 · 2026-08-27
备份域复位常因VDD掉电或复位引脚干扰。建议在系统初始化时读取RTC_ISR的INITS标志,若为0则重新配置RTC,并考虑加VBAT去耦电容。
硬件小李 · 2026-08-27
检查RTC唤醒定时器是否在低功耗前被正确启动,且未在进入STOP模式时被意外关闭。用示波器测LSI输出,确认频率稳定。
电源老张 · 2026-08-27
针对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