在STM32 STOP模式下,LPTIM通常由LSI或LSE时钟驱动,频率较低(如32.768kHz或37kHz),难以直接实现微秒级超时。若需微秒级唤醒,建议使用RTC的唤醒定时器(WakeUp Timer)配合LSE,其分辨率可达亚秒级(如1/32768秒≈30.5μs),但非严格微秒。若必须用LPTIM,可选用支持更高频时钟(如HSI/16)的型号(如STM32L4+系列),并配置LPTIM时钟为MSI或HSI分频,但需注意STOP模式下HSI通常关闭,需在进入STOP前切换时钟源,且唤醒后需重新校准。对于RTC日历不漂移,关键是使用LSE作为RTC时钟源,并在进入STOP前确保LSE稳定;唤醒后通过RTC读取时间,不依赖LPTIM计数,因此日历不会漂移。实操建议:优先使用RTC WakeUp Timer实现毫秒级超时,若需微秒级,可考虑外部低功耗定时器(如TPL5010)或使用LPTIM+外部32.768kHz晶振,但需接受30μs分辨率。
mcuku 阿沐 · 2026-08-27