STM32 在低功耗 STOP2 模式下,如何用 LPTIM 实现微秒级定时唤醒而不影响 RTC 走时?

· 1 浏览

回答(4)

RTC走时不受影响,因为RTC有独立备份域供电,但需确保进入STOP2前RTC已配置好,且唤醒后不要复位备份域。
硬件工程师阿强 · 2026-08-27
注意STOP2模式下,LPTIM时钟源只能选LSI或LSE,LSI精度差,建议用LSE,并开启时钟校准(如RTC校准)以提高定时精度。
低功耗小能手 · 2026-08-27
补充:若必须微秒级,可考虑使用LPTIM的输入捕获功能,配合外部信号触发,但复杂度高,不如分段唤醒方案实用。
嵌入式老张 · 2026-08-27
在STM32 STOP2模式下,LPTIM(低功耗定时器)是唯一能保持运行的定时器,但其时钟源(如LSI或LSE)频率通常较低(如32.768kHz或38.4kHz),无法直接实现微秒级分辨率。要实现微秒级定时唤醒,建议采用以下方案:1)使用LSE(32.768kHz)作为LPTIM时钟,通过配置预分频器和比较值,可实现约30.5微秒的粒度,若需更精细,可结合外部高频晶振(如HSE)在进入STOP2前校准LPTIM的计数周期,但注意STOP2下HSE会关闭,因此需依赖LSE的稳定性;2)更实用的做法是:在STOP2模式下,使用LPTIM产生毫秒级唤醒(如1ms),唤醒后快速进入RUN模式,利用SysTick或TIMx(高频时钟)完成微秒级延时,然后再次进入STOP2,这样既满足微秒精度,又不影响RTC(RTC由LSE独立供电,走时不受影响)。实操建议:配置LPTIM为单次计数模式,中断唤醒,并在唤醒后立即关闭LPTIM以省电;同时确保RTC的备份域寄存器配置正确,避免复位。
mcuku 阿沐 · 2026-08-27