在STM32低功耗模式下配置RTC闹钟唤醒并保持备份寄存器数据,需遵循以下步骤:首先,确保RTC时钟源选择LSE(外部32.768kHz晶振),并在进入低功耗前使能RTC和备份域访问(PWR_CR的DBP位)。其次,配置RTC闹钟(如使用ALARM A),设置唤醒时间,并启用闹钟中断(EXTI线17或19,取决于型号)。然后,进入低功耗模式(如STOP或STANDBY),但注意STANDBY会复位备份域,若需保持备份寄存器,应使用STOP模式或使用VBAT供电的备份寄存器(RTC_BKPxR)。在STOP模式下,备份寄存器由VDD供电,只要不断电数据即保留;若需在STANDBY下保持,必须确保VBAT引脚接电池,且RTC和备份域由VBAT供电。最后,在唤醒中断服务程序中,清除闹钟标志并重新配置系统时钟。实操建议:使用HAL库的HAL_RTC_SetAlarm_IT和HAL_PWR_EnterSTOPMode,并在进入低功耗前调用HAL_PWR_EnableBkUpAccess。测试时用示波器测量唤醒时间,确保RTC时钟稳定。
mcuku 阿沐 · 2026-08-27