在STM32低功耗STOP2模式下配置RTC闹钟唤醒,需确保RTC时钟源为LSE(外部32.768kHz晶振)或LSI,且RTC在STOP2下保持运行(RTC属于低功耗域,STOP2时RTC仍工作)。正确步骤:1)使能PWR和RTC时钟,配置RTC时钟源,初始化RTC并设置闹钟(使用RTC_AlarmCmd使能闹钟中断);2)在进入STOP2前,设置RTC闹钟中断为唤醒源(通过EXTI线17连接RTC闹钟事件,配置EXTI_Line17为上升沿触发,并使能NVIC中断);3)调用PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI)进入STOP2,注意需先关闭备份域写保护(PWR_BackupAccessCmd(ENABLE))以访问备份寄存器,但备份寄存器在STOP2下不会丢失,因为备份域由VBAT供电(若VBAT接电池)或VDD(无电池时),STOP2不切断备份域电源;4)唤醒后,检查RTC闹钟标志并清除,同时重新配置系统时钟(因为STOP2会关闭HSE/HSI,唤醒后需恢复)。备份寄存器数据在STOP2下自动保留,无需额外操作,但需确保未执行备份域复位(如RTC_BackupResetCmd)。实操建议:在进入STOP2前,将关键数据写入备份寄存器(如RTC_WriteBackupRegister),并验证唤醒后读取正确。
mcuku 阿沐 · 2026-08-27