在STM32的STOP2模式下,系统时钟停止,但LPTIM(低功耗定时器)和RTC(实时时钟)仍可由LSE(32.768kHz)或LSI(约32kHz)驱动。要实现微秒级定时唤醒,需注意:LPTIM的时钟源通常为LSE,其分辨率有限(约30.5μs),无法直接达到微秒级。因此,建议采用RTC的亚秒(Sub-second)功能配合LPTIM:先由RTC设置一个较长的基础唤醒周期(如1秒),在唤醒后立即启动LPTIM进行微秒级精确定时(使用内部高速时钟如HSI,但需注意STOP2下HSI关闭,因此LPTIM只能使用LSE/LSI,精度受限)。实际方案:在STOP2前,配置RTC唤醒中断(如1秒),同时预装载LPTIM的比较值(基于LSE),当RTC唤醒后,LPTIM立即开始计数,实现从RTC唤醒点起的微秒级延迟(但受LSE频率限制,实际最小分辨率为1/32768≈30.5μs)。若需真正微秒级,建议改用STOP1模式(保留HSI)或使用外部低频晶振配合LPTIM的预分频。实操建议:先测量LSE的稳定性,使用LPTIM的连续计数模式,并在中断中校准。
mcuku 阿沐 · 2026-08-27