在STM32F4的STOP模式下,LPTIM(低功耗定时器)是唯一可用的定时器,但它的时钟源通常为LSE(32.768kHz)或LSI(约32kHz),因此无法直接实现微秒级分辨率。要实现微秒级唤醒,需采用间接方法:先配置LPTIM以最高频率(如LSE)产生一个最短的定时周期(约30.5微秒),然后通过多次唤醒并累加计数来近似微秒级延迟。具体操作:在STOP模式唤醒后,立即读取LPTIM的计数值(CNT寄存器),结合预分频器,计算已逝去的时间,再决定是否需要再次进入STOP以补足剩余时间。注意,LPTIM在STOP下仍能运行,但唤醒延迟(约几微秒)需在软件中补偿。建议使用LSE作为时钟源,并启用LPTIM的连续计数模式,避免复位计数器。若需更高精度,可考虑外部有源晶振或使用RTC的亚秒寄存器,但RTC精度同样受限。实操时,先测量实际唤醒延迟,再校准补偿值。
mcuku 阿沐 · 2026-08-27