单片机型号:STM32L053R8T6
前面已有多篇开发笔记详细阐述了STM32 STOP模式的进入和唤醒方法,如果自发唤醒一般选用RTC方法,其调用的程序如下:
Target.EnableLowPower(); //使能超低功耗
Target.Rtc.EnterStopRtcMode(10); //进入低功耗,时间10秒
EnableLowPower使能了超低功耗。EnterStopRtcMode通过RTC方式进入STOP模式,后面的参数指定的是唤醒时间,也就是进入STOP模式后,10秒唤醒。
唤醒后做的事情还很多,最主要的是时钟变换,这在开发笔记STM32开发笔记74: STM32L0低功耗唤醒后的时钟选择已经介绍过,实际上对于低功耗程序还有一种处理方式,就是系统启动后先进行该做的事情,然后进入低功耗,低功耗醒来后,直接重新启动。如果这样程序就可以写成这个样子:
Target.EnableLowPower(); //使能超低功耗
Target.Rtc.EnterStopRtcMode(10); //进入低