STM32低功耗模式下RTC唤醒失效,常见根因有三:一是RTC时钟源配置错误,如使用LSE但未正确启动或外部晶振未焊接;二是RTC中断未使能或NVIC配置不当,进入低功耗前未设置RTC_Alarm或WakeUp中断;三是电源管理配置问题,如未调用HAL_PWR_EnableBkUpAccess或未正确设置备份域写保护。排查步骤:1) 确认RTC时钟源已稳定(检查LSERDY或LSIRDY标志);2) 检查RTC唤醒源配置(如RTC_SetAlarm或RTC_WakeUpCmd),并确保中断优先级已使能;3) 验证进入低功耗模式前是否调用了HAL_PWR_EnterSTOPMode或STANDBY,且RTC在低功耗下仍供电(VBAT或VDD);4) 使用调试器在唤醒中断处设断点,若未触发,则检查RTC中断标志是否被意外清除;5) 实测功耗,若电流异常高,可能未真正进入低功耗。建议先最小化测试,仅保留RTC和唤醒引脚,逐步添加外设。
mcuku 阿沐 · 2026-08-27