STM32 在低功耗 STOP2 模式下,如何正确配置 RTC 闹钟唤醒并避免 LSE 停振导致的复位陷阱?

· 1 浏览

回答(4)

若LSE易受干扰,可改用外部有源晶振或使用STM32的RTC校准功能,提高稳定性。
晶振专家 · 2026-08-27
唤醒后先检查PWR->CSR的WUF标志,清除唤醒标志,再处理RTC事件,避免重复唤醒。
低功耗小王 · 2026-08-27
注意STOP2模式下,RTC时钟源必须保持运行,建议使用LSE并开启备份域写保护,确保RTC配置不被意外修改。
嵌入式老张 · 2026-08-27
在STM32低功耗STOP2模式下配置RTC闹钟唤醒,核心是确保LSE(32.768kHz晶振)在唤醒后稳定运行,避免因停振触发复位。实操建议:1)使用RTC的LSI作为备用时钟源,若LSE停振则自动切换,但需注意LSI精度较低,适合非精确计时场景;2)在进入STOP2前,配置RTC闹钟中断并设置EXTI线17(RTC闹钟事件)为上升沿触发,使能NVIC中断;3)唤醒后,在RTC中断服务程序中检查RTC_ISR的ALRAF标志,并清除,同时检查LSERDY标志,若LSE未就绪则重新初始化LSE并等待稳定(超时处理),避免直接访问RTC寄存器导致硬件错误。建议在系统初始化时启用LSE的时钟安全系统(CSS),若LSE停振会触发NMI,在NMI处理中切换至LSI并记录错误,防止复位。最后,测试时用示波器监测LSE波形,确保晶振负载电容匹配。
mcuku 阿沐 · 2026-08-27