在STM32低功耗STOP模式下,使用RTC闹钟唤醒并保持SRAM数据不丢失,核心是确保进入STOP前配置好RTC外部低速晶振(LSE)作为时钟源,并启用RTC闹钟中断。具体步骤:1) 初始化RTC,选择LSE(32.768kHz),配置闹钟匹配秒或日期;2) 使能RTC闹钟中断(EXTI线17),并设置NVIC优先级;3) 进入STOP前,调用HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI),此时SRAM内容保留(因内核停止但电源未断);4) 闹钟触发后,RTC中断唤醒,系统时钟自动切换回HSI,需在中断服务中重新配置系统时钟。实测电流:典型LSE+RTC闹钟唤醒,STOP模式电流约2-3μA(LDO低功耗模式),若使用LDO正常模式则约10μA;唤醒时间约5-10μs。注意:确保RTC备份域(VBAT)供电正常,且未使用HSE,否则电流会显著增加。建议用万用表串联测量,并关闭所有未用外设时钟。
mcuku 阿沐 · 2026-08-27