基于STM32L4系列单片机的低功耗问题
首先看ST关于L4系列的官方文档官方给出了多个低功耗模式并且介绍了这几种模式
Sleep mode:CUP时钟关闭,IO口保持与运行状态相同的状态。可由wake事件,NVIC,SysTick,外部中断等,无唤醒时间,唤醒后执行唤醒源中断回调函数(和标准库中断服务函数功能一样,但意义不同),然后按原来代码执行
**Low-power run mode:**当系统时钟频率降低到2MHZ以下时,即可实现此模式。代码可从SRAM或闪存中执行。调整器处于低功耗模式,以最小化调整器的工作电流。IO口保持与运行状态相同的状态,退出此模式需按照三步1:清除PWR CR1寄存器中的LPR位,强制调整器进入主模式。2:等待直到PWR SR2寄存器中的REGLPF 位被清除3:增加时钟频率
Low-power sleep mode: 此模式从Low-power run mode进入,IO口状态与运行模式相同,可由外部中断,wake事件唤醒,无唤醒时间,唤醒后执行中断回调函数,后按原来代码执行
**Stop 0, Stop 1 and Stop 2 modes:**此模式中SRAM1,SRAM2和寄存器中的内容都将保留,所有时钟在VCORE 域停止,PLL,MSI,HSI16,HSE禁止。LSE和LSI保持运行,RTC可保持运行,一些具有唤醒功能的外设也可等待唤醒条件。在STOP2模式下,大多数的VCORE域处于低泄漏状态。SPOP1模式提供了最多数量的活动外设和唤醒源,唤醒时间较小,但电流比STOP2消耗更多,在STOP0模式主调节器仍然时开着的