在STM32低功耗模式下使用RTC唤醒,最常见的陷阱是RTC时钟源配置错误或备份域供电问题。首先,确保RTC使用LSE(32.768kHz)时钟,因为LSI在低功耗下精度差且可能停振。其次,进入Stop模式前,必须使能RTC的唤醒中断(如RTC_WakeUpCmd),并配置EXTI线17(RTC唤醒事件)为上升沿触发,同时设置NVIC中断优先级。实测中,若未正确配置PWR的备份域访问(PWR_BackupAccessCmd),RTC寄存器可能无法写入,导致唤醒失败。电流对比:Stop模式(RTC唤醒)典型电流约1.5-3μA(LSE运行),而Standby模式约0.3-1μA,但Standby唤醒后需复位,无法保留SRAM。建议使用低功耗测试仪(如J-Link功耗测量)实测,并注意在进入低功耗前关闭调试器SWD接口(否则电流偏高)。实操时,先配置RTC唤醒周期,再调用PWR_EnterSTOPMode,最后在唤醒中断中恢复系统时钟。
mcuku 阿沐 · 2026-08-27