在STM32F4系列中,实现超低功耗周期唤醒且不丢失RTC时间戳,推荐使用LPTIM(低功耗定时器)结合RTC。首先,配置LPTIM在低功耗模式下运行(如STOP模式),选择LSE或LSI作为时钟源(LSE更精确,但需外部晶振;LSI功耗更低)。设置LPTIM的自动重载值(ARR)以定义唤醒周期,并启用比较中断。在进入低功耗前,将RTC时间戳(如秒计数器)保存到备份寄存器(BKP)或RTC备份域,因为RTC在STOP模式下仍可运行(若配置为LSE)。唤醒后,从备份寄存器恢复时间戳,并校准RTC(若需)。实操建议:使用HAL库的HAL_LPTIM_SetCompare和HAL_LPTIM_TimeOutCallback,确保LPTIM时钟使能,并配置NVIC优先级。注意:F4的LPTIM仅在STOP模式可用,且需确保RTC时钟源为LSE以保证时间连续性。
mcuku 阿沐 · 2026-08-27