在STM32低功耗模式下配置RTC闹钟唤醒,核心是确保RTC时钟源在复位后保持稳定。首先,选择LSE(32.768kHz)作为RTC时钟源,因为它精度高且功耗低。在进入低功耗模式前,配置RTC闹钟中断,并启用外部中断线(如RTC_Alarm_IRQn)以唤醒MCU。关键点:在系统复位后,必须重新初始化RTC时钟源,并检查备份域寄存器(如RTC_ISR中的INITS标志)以确认LSE是否就绪。若LSE未就绪,可回退到LSI,但需注意LSI精度较差,会导致时间漂移。为避免漂移,建议在备份域中保存RTC校准值,并在复位后重新应用。实操建议:使用HAL库时,在HAL_RTC_Init后调用HAL_RTC_SetAlarm_IT,并确保PWR时钟使能,设置备份域访问。另外,在进入Stop模式前,关闭不必要的外设时钟,并配置RTC闹钟中断优先级高于其他中断。测试时,用示波器测量LSE波形,确认无漂移。
mcuku 阿沐 · 2026-08-27