目录
低功耗模式介绍:
Sleep mode:
Low-power sleep mode :
Stop 0,Stop 1 和Stop 2 mode:
Standby mode :
Shutdown mode:
各个模式的切换关系
各个低功耗模式的特征总结
?各个低功耗模式的进入与退出方法
Low-power run mode 进入与退出
Sleep mode 进入与退出
?Low-power Sleep mode 进入与退出
?Stop0 mode 进入与退出
?Stop1 mode 进入与退出
?Stop2 mode 进入与退出
?Standby mode进入与退出
?Shutdown mode进入与退出
?STM32duino lowpower 库中的低功耗调用关系
void shutdown (int ms)
?void deepSleep (int ms)
??void sleep (int ms)
?void idle (int ms)
低功耗模式介绍:
(资料来源stm32l476 参考手册,RM0351_STM32L4x5 and STM32L4x6 advanced Arm?-based 32-bit MCUs)
Sleep mode:
CPU时钟关闭,所有外设(包括NVIC,SysTick,等的Cortex-m4内核外设可以运行,中断或事件发生时唤醒CPU.
Low-power sleep mode :
从Low-power run mode可以进入到这个模式:Cortex -m4关闭。
Stop 0,Stop 1 和Stop 2 mode:
SRAM1 ,SRAM2和所有寄存器内容被保留。Vcore域的所有时钟停止,PLL,MSI,HSI16和HSE失能。LSI和LSE可以保持运行。 RTC可以保持激活状态(带RTC的停止模式,不带RTC的停止模式)。 一些具有唤醒功能的外设在停止模式期间,检测到唤醒状态可以使能HSI16 。 在stop2模式下,大多数VCore域处于较低漏电流模式。 Stop 1提供最多的活跃外设和唤醒源,唤醒时间比Stop 2短,但功耗更高。在Stop 0模式下,主调节器保持开启,这允许最快的唤醒时间,但功耗更高。活跃外设和唤醒源与Stop 1模式中的相同。 从Stop 0,Stop 1或 Stop 2模式退出时,系统时钟可以是高达48 MHz的MSI或HSI16,具体取决于软件配置。
Standby mode :
Vcore域已关闭。但是,可以保存SRAM2内容: Standby mode 保存SRAM2内容:主调节器关闭,低功耗调节器运行。 Standby mode 不保存 SRAM 2内容:主调节器和低功耗调节器均关闭。 所有Vcore域的时钟停止,PLL、MSI、HSI16和HSE关闭。LSI和LSE可以保持运行。 RTC可以保持激活状态(带RTC的停止模式,不带RTC的停止模式)。 当退出Standby mode时,MSI为系统时钟(system clock)提供1 MHz到8MHz的时钟。
Shutdown mode:
Vcore 域已关闭。VCore域中的所有时钟停止,PLL、MSI、HSI16、LSI和HSE被禁用。LSE可以继续运作。退出Shutdown mode时,MSI为系统时钟4 MHz的时钟。在这种模式下,电源电压监控被禁用,并且在电源电压下降的情况下,产品行为无法得到保证。
各个模式的切换关系
各个低功耗模式的特征总结
?
?各个低功耗模式的进入与退出方法
参考资料:UM1884 Description of STM32L4HAL and low-layer drivers
Low-power run mode 进入与退出
Sleep mode 进入与退出
?Low-power Sleep mode 进入与退出
?Stop0 mode 进入与退出
?Stop1 mode 进入与退出
?Stop2 mode 进入与退出
?Standby mode进入与退出
?Shutdown mode进入与退出
?STM32duino lowpower 库中的低功耗调用关系
参考资料:https://github.com/stm32duino/STM32LowPower?
void shutdown (int ms)
?void deepSleep (int ms)
?void sleep (int ms)
?
?void idle (int ms)
|