STM32 在低功耗 STOP 模式下,如何用 LPTIM 实现超低功耗定时唤醒且不丢 RTC 时间?

· 1 浏览

回答(4)

建议使用RTC的闹钟或唤醒定时器作为备份唤醒源,与LPTIM互为冗余,防止LPTIM失效导致系统无法唤醒。
可靠系统工程师 · 2026-08-27
注意:在STOP模式下,LPTIM的唤醒中断优先级需高于其他外设,且进入STOP前要关闭不必要的外设时钟,以降低功耗。
低功耗小能手 · 2026-08-27
补充:确保LPTIM的时钟源与RTC独立,若用LSE,需在进入STOP前稳定LSE,并检查LSE的启动时间,避免唤醒延迟。
嵌入式老张 · 2026-08-27
在STM32的STOP模式下,LPTIM(低功耗定时器)可作为唤醒源,同时保持RTC运行以维护时间。关键配置:1)将LPTIM时钟源选为LSI或LSE(推荐LSE,精度高且RTC共用),确保在STOP下继续计数;2)通过LPTIM的ARR(自动重载)和CMP(比较)寄存器设定唤醒周期,使能LPTIM中断并映射到EXTI(如EXTI line 25);3)进入STOP前,确保RTC已配置为独立时钟(如LSE)并启用备份域写保护解除,这样RTC在STOP下持续走时;4)唤醒后,在中断服务程序中读取RTC时间(如通过RTC_GetTime),并重新配置LPTIM以准备下一次唤醒。注意:LPTIM在STOP下需使用外部时钟(LSI/LSE),内部HSI会关闭;同时,唤醒时间需考虑时钟校准,避免漂移。实操建议:先用CubeMX配置LPTIM和RTC,验证功耗(典型<2uA),再优化唤醒周期。
mcuku 阿沐 · 2026-08-27