一、PWR简介
正常模式与睡眠模式耗电是mA级,停机模式与待机模式是uA级。
二、电源框图
供电区域有三处,分别是模拟部分供电(VDDA),数字部分供电,包括VDD供电区域和1.8V供电区域,后备供电(VBAT)。
三、低功耗模式
PDDS位用来区分停机还是待机模式。PDDS = 0,进入停机模式,PDDS = 1,进入待机模式;
LPDS位用来控电压调节器。LPDS = 0,电压调节器开启,LPDS = 1,电压调节器进入低功耗;
停机模式下,唤醒方式只能是外部中断,由于PVD、RTC闹钟、USB唤醒、ETH唤醒借道了外部中断,所以也可以唤醒;
四、模式选择
在执行完WFI(Wait For Interrupt)或者WFE(Wait For Event)指令后,STM32会进入低功耗模式。
五、低功耗模式特性
1、睡眠模式
一般WFI或WFE指令放在程序运行结尾,每执行一遍程序进入一次睡眠。
2、停止模式
程序运行时,默认的配置是使用HSE外部高速时钟通过PLL倍频,得到72MHz主频。但在停止模式下,PLL与HSE都被禁止,且在退出停止模式时,默认会将HSI的8MHz作为系统主频。所以在退出停止模式后,首先应该重新启动HSE和PLL,配置主频为72MHz,即调用SystemInit函数。
3、待机模式
WKUP、RTC、NRST、IWDG这四个是待机模式的唤醒条件,所以要保持供电。