Power control (PWR) RM0008
52/690
4.3 Low-power modes
By default, the microcontroller is in Run mode after a system or a power Reset. In Run mode
the CPU is clocked by HCLK and the program code is executed. Several low-power modes
are available to save power when the CPU does not need to be kept running, for example
when waiting for an external event. It is up to the user to select the mode that gives the best
compromise between low-power consumption, short startup time and available wakeup
sources.
The STM32F10xxx devices feature three low-power modes:
● Sleep mode (Cortex-M3 core stopped, peripherals kept running)
● Stop mode (all clocks are stopped)
● Standby mode (1.8V domain powered-off)
In addition, the power consumption in Run mode can be reduce by one of the following
means:
● Slowing down the system clocks
● Gating the clocks to the APB and AHB peripherals when they are unused.
4.3.1 Slowing down system clocks
In Run mode the speed of the system clocks (SYSCLK, HCLK, PCLK1, PCLK2) can be
reduced by programming the prescaler registers. These prescalers can also be used to slow
down peripherals before entering Sleep mode.
For more details refer to Section 6.3.2: Clock configuration register (RCC_CFGR).
Table 7. Low-power mode summary
Mode name Entry wakeup
Effect on 1.8V
domain clocks
Effect on
V
DD
domain
clocks
Vol tage
regulator
Sleep
(Sleep now or
Sleep-on -
exit)
WFI Any interrupt CPU CLK OFF
no effect on other
clocks or analog
clock sources
None ON
WFE Wakeup event
Stop
PDDS and LPDS
bits +
SLEEPDEEP bit
+ WFI or WFE
Any EXTI line
(configured in the
EXTI registers)
All 1.8V domain
clocks OFF
HSI and
HSE
oscillators
OFF
ON or in low-
power mode
(depends on
Power control
register
(PWR_CR))
Standby
PDDS bit +
SLEEPDEEP bit
+ WFI or WFE
WKUP pin rising
edge, RTC alarm,
external reset in
NRST pin,
IWDG reset
OFF