6. Power control (PWR)

6.1 Power supplies

The STM32G4 series devices require a 1.71 V to 3.6 V operating supply voltage ( \( V_{DD} \) ). Analog peripherals are supplied through independent power domain \( V_{DDA} \) .

\( V_{DD} \) is the external power supply for the I/Os, the internal regulator and the system analog such as reset, power management and internal clocks. It is provided externally through VDD pins.

\( V_{DDA} \) is the external analog power supply for A/D converters, D/A converters, voltage reference buffer, operational amplifiers and comparators. The \( V_{DDA} \) voltage level is independent from the \( V_{DD} \) voltage. \( V_{DDA} \) should be preferably connected to \( V_{DD} \) when these peripherals are not used.

During power up and power down, the following power sequence is required:

During power down phase, \( V_{DD} \) can temporarily become lower than other supplies only if the energy provided to the MCU remains below \( 1 \text{ mJ} \) . This allows external decoupling capacitors to be discharged with different time constants during the power down transient phase.

\( V_{BAT} \) is the power supply for RTC, external clock 32 kHz oscillator and backup registers (through power switch) when \( V_{DD} \) is not present. \( V_{BAT} \) is internally bonded to \( V_{DD} \) for small packages without dedicated pin.

\( V_{REF+} \) is the input reference voltage for ADCs and DACs. It is also the output of the internal voltage reference buffer when enabled.

When \( V_{DDA} < 2 \text{ V} \) , \( V_{REF+} \) must be equal to \( V_{DDA} \) .

When \( V_{DDA} \geq 2 \text{ V} \) , \( V_{REF+} \) must be between \( 2 \text{ V} \) and \( V_{DDA} \) .

\( V_{REF+} \) can be grounded when ADC and DAC are not active.

The internal voltage reference buffer supports three output voltages, which are configured with VRS bit in the VREFBUF_CSR register:

\( V_{REF+} \) pin is not available on all packages. When not available on the package, it is bonded to \( V_{DDA} \) . When the \( V_{REF+} \) is double-bonded with \( V_{DDA} \) in a package, the internal voltage reference buffer (VREFBUF) is not available and must be kept disabled (refer to related device datasheet for packages pinout description).

\( V_{REF-} \) is internally double bonded with \( V_{SSA} \) .

An embedded linear voltage regulator is used to supply the internal digital power \( V_{CORE} \) . \( V_{CORE} \) is the power supply for digital peripherals SRAM1, SRAM2 and CCM SRAM. The Flash is supplied by \( V_{CORE} \) and \( V_{DD} \) .

Figure 12. STM32G4 series power supply overview

Figure 12. STM32G4 series power supply overview diagram showing power domains and connections.

The diagram illustrates the power supply architecture for the STM32G4 series. It shows the following power domains and their connections:

MSV45867V1

Figure 12. STM32G4 series power supply overview diagram showing power domains and connections.

6.1.1 Independent analog peripherals supply

To improve ADC and DAC conversion accuracy and to extend the supply flexibility, the analog peripherals have an independent power supply which can be separately filtered and shielded from noise on the PCB.

The \( V_{DDA} \) supply voltage can be different from \( V_{DD} \) . The presence of \( V_{DDA} \) must be checked before enabling any of the analog peripherals supplied by \( V_{DDA} \) (A/D converter, D/A converter, comparators, operational amplifiers, voltage reference buffer).

The \( V_{DDA} \) supply can be monitored by the Peripheral Voltage Monitoring, and compared with thresholds. Refer to Section 6.2.3: Peripheral Voltage Monitoring (PVM) for more details.

When a single supply is used, \( V_{DDA} \) can be externally connected to \( V_{DD} \) through the external filtering circuit in order to ensure a noise-free \( V_{DDA} \) reference voltage.

ADC and DAC reference voltage

To ensure a better accuracy on low-voltage inputs and outputs, the user can connect to \( V_{REF+} \) a separate reference voltage lower than \( V_{DDA} \) . \( V_{REF+} \) is the highest voltage, represented by the full scale value, for an analog input (ADC) or output (DAC) signal.

\( V_{REF+} \) can be provided either by an external reference or by an internal buffered voltage reference (VREFBUF).

The internal buffered voltage reference (VREFBUF) is enabled by setting the ENVR bit in the Section 23.4.1: VREFBUF control and status register (VREFBUF_CSR) . The internal buffered voltage reference (VREFBUF) is set to 2.048 V, 2.5 V or 2.9 V according to the VRS[1:0] bits setting. The internal buffered voltage reference can also provide the voltage to external components through \( V_{REF+} \) pin. Refer to the device datasheet and to Section 23: Voltage reference buffer (VREFBUF) for further information.

6.1.2 USB transceivers supply

The USB transceivers are supplied from \( V_{DD} \) power supply pin. \( V_{DD} \) range for USB usage is from 3.0 V to 3.6 V.

6.1.3 Battery backup domain

To retain the content of the Backup registers and supply the RTC function when \( V_{DD} \) is turned off, the VBAT pin can be connected to an optional backup voltage supplied by a battery or by another source.

The VBAT pin powers the RTC unit, the LSE oscillator and the PC13 to PC15 I/Os, allowing the RTC to operate even when the main power supply is turned off. The switch to the \( V_{BAT} \) supply is controlled by the power-down reset embedded in the Reset block.


Warning: During \( t_{RSTTEMPO} \) (temporization at \( V_{DD} \) startup) or after a PDR has been detected, the power switch between \( V_{BAT} \) and \( V_{DD} \) remains connected to \( V_{BAT} \) .
During the startup phase, if \( V_{DD} \) is established in less than \( t_{RSTTEMPO} \) (refer to the datasheet for the value of \( t_{RSTTEMPO} \) ) and \( V_{DD} > V_{BAT} + 0.6 \) V, a current may be injected into \( V_{BAT} \) through an internal diode connected between \( V_{DD} \) and the power switch ( \( V_{BAT} \) ).
If the power supply/battery connected to the VBAT pin cannot support this current injection, it is strongly recommended to connect an external low-drop diode between this power supply and the VBAT pin.


If no external battery is used in the application, it is recommended to connect \( V_{BAT} \) externally to \( V_{DD} \) with a 100 nF external ceramic decoupling capacitor.

When the backup domain is supplied by \( V_{DD} \) (analog switch connected to \( V_{DD} \) ), the following pins are available:

RTC functional description

Note: As the analog switch can transfer only a limited amount of current (3 mA), the use of GPIO PC13 to PC15 in output mode is restricted: the speed must be limited to 2 MHz with a maximum load of 30 pF, and these I/Os must not be used as a current source (e.g. to drive a LED).

When the backup domain is supplied by \( V_{BAT} \) (analog switch connected to \( V_{BAT} \) because \( V_{DD} \) is not present), the following functions are available:

Backup domain access

After a system reset, the backup domain (RTC registers and backup registers) is protected against possible unwanted write accesses. To enable access to the backup domain, proceed as follows:

  1. 1. Enable the power interface clock by setting the PWREN bits in the APB1 peripheral clock enable register 1 (RCC_APB1ENR1)
  2. 2. Set the DBP bit in the Power control register 1 (PWR_CR1) to enable access to the backup domain
  3. 3. Select the RTC clock source in the RTC domain control register (RCC_BDCR) .
  4. 4. Enable the RTC clock by setting the RTCEN [15] bit in the RTC domain control register (RCC_BDCR) .

VBAT battery charging

When \( V_{DD} \) is present, it is possible to charge the external battery on VBAT through an internal resistance. This charging is done through a 5 or a 1.5 k \( \Omega \) resistor, depending upon the VBRS bit value in the PWR_CR4 register.

The battery charging is enabled by setting VBE bit in the PWR_CR4 register. It is automatically disabled in VBAT mode.

6.1.4 Voltage regulator

Two embedded linear voltage regulators supply all the digital circuitries, except for the Standby circuitry and the backup domain. The main regulator output voltage ( \( V_{CORE} \) ) can be programmed by software to two different power ranges (Range 1 and Range 2) in order to optimize the consumption depending on the system's maximum operating frequency (refer to Section 7.2.8: Clock source frequency versus voltage scaling and to Section 3.3.3: Read access latency ).

The voltage regulators are always enabled after a reset. Depending on the application modes, the \( V_{CORE} \) supply is provided either by the main regulator (MR) or by the low-power regulator (LPR).

power regulator (LPR) supplies low power to the \( V_{CORE} \) domain, preserving the contents of the registers, SRAM1, SRAM2 and CCM SRAM.

6.1.5 Dynamic voltage scaling management

The dynamic voltage scaling is a power management technique which consists in increasing or decreasing the voltage used for the digital peripherals ( \( V_{CORE} \) ), according to the application performance and power consumption needs.

Dynamic voltage scaling to increase \( V_{CORE} \) is known as overvolting. It allows to improve the device performance.

Dynamic voltage scaling to decrease \( V_{CORE} \) is known as undervolting. It is performed to save power, particularly in laptop and other mobile devices where the energy comes from a battery and is thus limited.

In range 1, the main regulator operates in two modes following the R1MODE bit in the PWR_CR5 register:

Table 38. Range 1 boost mode configuration

System frequency\( SYSCLK \leq 150 \text{ MHz} \)\( SYSCLK \leq 170 \text{ MHz} \)
R1MODE bit configuration10

The main regulator provides a typical output voltage at 1.0 V. The system clock frequency can be up to 26 MHz. The Flash access time for a read access is increased as compared to Range 1; write and erase operations are not possible.

Voltage scaling is selected through the VOS bit in the Section 6.4.1: Power control register 1 (PWR_CR1) register.

The sequence to go from Range 1 (Normal/Boost) to Range 2 is:

  1. 1. In case of switching from Range 1 boost mode to Range 2, the system clock must be divided by 2 using the AHB prescaler before switching to a lower system frequency for at least 1us and then reconfigure the AHB prescaler.
  2. 2. Reduce the system frequency to a value lower than 26 MHz.
  3. 3. Adjust number of wait states according new frequency target in Range 2 (LATENCY bits in the FLASH_ACR).
  4. 4. Program the VOS bits to “10” in the PWR_CR1 register.

The sequence to go from Range 2 to Range 1 (normal/boost mode) is:

  1. 1. Program the VOS bits to “01” in the PWR_CR1 register.
  2. 2. Wait until the VOSF flag is cleared in the PWR_SR2 register.
  3. 3. Adjust number of wait states according new frequency target in Range 1 (LATENCY bits in the FLASH_ACR).
  4. 4. Increase the system frequency by following below procedure:
    • • If the system frequency is \( 26 \text{ MHz} < \text{SYSCLK} \leq 150 \text{ MHz} \) :
      • – Select the Range 1 normal mode by setting R1MODE bit in the PWR_CR5 register.
      • – Configure and switch to PLL for a new system frequency.
    • • If the system frequency is \( \text{SYSCLK} > 150 \text{ MHz} \) :
      • – The system clock must be divided by 2 using the AHB prescaler before switching to a higher system frequency.
      • – Select the Range 1 boost mode by clearing the R1MODE bit is in the PWR_CR5 register.
      • – Configure and switch to PLL for a new system frequency.
      • – Wait for at least 1us and then reconfigure the AHB prescaler to get the needed HCLK clock frequency.

The sequence to switch from Range1 normal mode to Range1 boost mode is:

  1. 1. The system clock must be divided by 2 using the AHB prescaler before switching to a higher system frequency.
  2. 2. Clear the R1MODE bit is in the PWR_CR5 register.
  3. 3. Adjust the number of wait states according to the new frequency target in range1 boost mode
  4. 4. Configure and switch to new system frequency.
  5. 5. Wait for at least 1us and then reconfigure the AHB prescaler to get the needed HCLK clock frequency.

The sequence to switch from Range1 boost mode to Range1 normal mode is:

  1. 1. Set the R1MODE bit is in the PWR_CR5 register.
  2. 2. Adjust the number of wait states according new frequency target in Range1 default mode.
  3. 3. Configure and switch to new system frequency.

6.2 Power supply supervisor

6.2.1 Power-on reset (POR) / power-down reset (PDR) / brown-out reset (BOR)

The device has an integrated power-on reset (POR) / power-down reset (PDR), coupled with a brown-out reset (BOR) circuitry. The BOR is active in all power modes except Shutdown mode, and cannot be disabled.

Five BOR thresholds can be selected through option bytes.

During power-on, the BOR keeps the device under reset until the supply voltage \( V_{DD} \) reaches the specified \( V_{BORx} \) threshold. When \( V_{DD} \) drops below the selected threshold, a device reset is generated. When \( V_{DD} \) is above the \( V_{BORx} \) upper limit, the device reset is released and the system can start.

For more details on the brown-out reset thresholds, refer to the electrical characteristics section in the datasheet.

Figure 13. Brown-out reset waveform

Figure 13. Brown-out reset waveform. The graph shows the supply voltage VDD over time (t). The voltage rises from 0V to a peak and then falls back to 0V. Horizontal dashed lines represent various threshold levels: VBORR4, VBORF4, VBORR3, VBORF3, VBORR2, VBORF2, VBORR1, VBORF1, VPOR, and VPDR. The rising thresholds (VBORR and VPOR) are shown as blue dashed lines, and the falling thresholds (VBORF and VPDR) are shown as pink dashed lines. Below the graph, two reset signal waveforms are shown. The first, 'Reset with BOR off', shows a reset pulse starting at the rising threshold and ending at the falling threshold. The second, 'Reset with BOR on (VBORR4 VBORF1)', shows a reset pulse starting at the rising threshold and ending at the falling threshold. The reset temporization tRSTTEMPO is indicated for both cases, showing the time interval between the start and end of the reset pulse.
Figure 13. Brown-out reset waveform. The graph shows the supply voltage VDD over time (t). The voltage rises from 0V to a peak and then falls back to 0V. Horizontal dashed lines represent various threshold levels: VBORR4, VBORF4, VBORR3, VBORF3, VBORR2, VBORF2, VBORR1, VBORF1, VPOR, and VPDR. The rising thresholds (VBORR and VPOR) are shown as blue dashed lines, and the falling thresholds (VBORF and VPDR) are shown as pink dashed lines. Below the graph, two reset signal waveforms are shown. The first, 'Reset with BOR off', shows a reset pulse starting at the rising threshold and ending at the falling threshold. The second, 'Reset with BOR on (VBORR4 VBORF1)', shows a reset pulse starting at the rising threshold and ending at the falling threshold. The reset temporization tRSTTEMPO is indicated for both cases, showing the time interval between the start and end of the reset pulse.

1. The reset temporization \( t_{RSTTEMPO} \) is present only for the BOR lowest threshold ( \( V_{BOR0} \) ).

6.2.2 Programmable voltage detector (PVD)

You can use the PVD to monitor the \( V_{DD} \) power supply by comparing it to a threshold selected by the PLS[2:0] bits in the Power control register 2 (PWR_CR2) .

The PVD is enabled by setting the PVDE bit.

A PVDO flag is available, in the Power status register 2 (PWR_SR2) , to indicate if \( V_{DD} \) is higher or lower than the PVD threshold. This event is internally connected to the EXTI line16 and can generate an interrupt if enabled through the EXTI registers. The PVD output interrupt can be generated when \( V_{DD} \) drops below the PVD threshold and/or when \( V_{DD} \) rises above the PVD threshold depending on EXTI line16 rising/falling edge configuration. As an example, the service routine could perform emergency shutdown tasks.

Figure 14. PVD thresholds

Figure 14. PVD thresholds. A graph showing the relationship between VDD and the PVD output. The top graph shows VDD rising and then falling. The bottom graph shows the PVD output going low when VDD drops below the VPVD threshold and returning high when VDD rises above the threshold + 100 mV hysteresis. Vertical dashed lines indicate the threshold levels.

The figure illustrates the PVD threshold behavior. The top part shows the supply voltage \( V_{DD} \) over time, with a rising and falling edge. The bottom part shows the PVD output state. When \( V_{DD} \) falls below the \( V_{PVD} \) threshold, the PVD output goes low. When \( V_{DD} \) rises above the threshold plus a 100 mV hysteresis band, the PVD output returns high. Vertical dashed lines mark the threshold and hysteresis levels on the \( V_{DD} \) graph.

Figure 14. PVD thresholds. A graph showing the relationship between VDD and the PVD output. The top graph shows VDD rising and then falling. The bottom graph shows the PVD output going low when VDD drops below the VPVD threshold and returning high when VDD rises above the threshold + 100 mV hysteresis. Vertical dashed lines indicate the threshold levels.

6.2.3 Peripheral Voltage Monitoring (PVM)

Only \( V_{DD} \) is monitored by default, as it is the only supply required for all system-related functions. The \( V_{DDA} \) can be independent from \( V_{DD} \) and can be monitored with two peripheral voltage monitoring (PVM).

Each of the PVMx (x=1, 2) is a comparator between a fixed threshold \( V_{PVMx} \) and the \( V_{DDA} \) power supply. PVMOx flags indicate if the independent power supply is higher or lower than the PVMx threshold: PVMOx flag is cleared when the supply voltage is above the PVMx threshold, and is set when the supply voltage is below the PVMx threshold.

Each PVM output is connected to an EXTI line and can generate an interrupt if enabled through the EXTI registers. The PVMx output interrupt is generated when the independent power supply drops below the PVMx threshold and/or when it rises above the PVMx threshold, depending on EXTI line rising/falling edge configuration.

Each PVM can remain active in Stop 0 and Stop 1 modes, and the PVM interrupt can wake up from the Stop mode.

Table 39. PVM features

PVMPower supplyPVM thresholdEXTI line
PVM1\( V_{DDA} \)\( V_{PVM1} \) (around 1.65 V)40
PVM2\( V_{DDA} \)\( V_{PVM2} \) (around 1.8 V)41

The independent analog supply \( V_{DDA} \) is not considered as present by default, and a logical and electrical isolation is applied to ignore any information coming from the peripherals supplied by this dedicated supply.

6.3 Low-power modes

By default, the microcontroller is in Run mode after a system or a power Reset. 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 device features seven low-power modes:

The RTC and TAMP can remain active (Stop mode with RTC, Stop mode without RTC). Some peripherals with the wakeup capability can enable the HSI16 RC during the Stop mode to detect their wakeup condition.

In Stop 0 mode, the main regulator remain ON, which allows the fastest wakeup time but with higher consumption. The active peripherals and the wakeup sources are the same as in Stop 1 mode.

The system clock, when exiting from Stop 0 or Stop 1 mode, is the HSI16 clock. If the device is configured to wake up in low-power run mode, the HPRE bits in RCC_CFGR register must be configured prior to entering Stop mode to provide a frequency not greater than 2 MHz.

Refer to Section 6.3.6: Stop 0 mode for details on Stop 0 mode.

All clocks in the \( V_{CORE} \) domain are stopped, the PLL, the HSI16 and the HSE oscillator

are disabled. The LSI and the LSE can be kept running.

The RTC can remain active (Standby mode with RTC, Standby mode without RTC).

The system clock, when exiting Standby modes, is the HSI16 oscillator clock.

Refer to Section 6.3.8: Standby mode .

In addition, the power consumption in Run mode can be reduced by one of the following means:

Figure 15. Low-power modes possible transitions

State transition diagram for low-power modes including Low-power sleep, Low-power run, Run, Sleep, Stop 0, Stop 1, Standby, and Shutdown modes.
graph TD
    LPSleep[Low-power sleep mode] <--> LPRun[Low-power run mode]
    LPRun <--> Run[Run mode]
    LPRun <--> Stop0[Stop 0 mode]
    LPRun <--> Stop1[Stop 1 mode]
    LPRun --> Shutdown[Shutdown mode]
    LPRun --> Standby[Standby mode]
    Run <--> Sleep[Sleep mode]
    Run <--> Stop0
    Run <--> Stop1
    Run <--> Standby
    Run <--> Shutdown

The diagram shows the transitions between different power modes. 'Run mode' is the central hub, with bidirectional transitions to 'Sleep mode', 'Stop 1 mode', 'Stop 0 mode', 'Low-power run mode', 'Standby mode', and 'Shutdown mode'. 'Low-power run mode' also has bidirectional transitions to 'Low-power sleep mode', 'Stop 0 mode', and 'Stop 1 mode', and unidirectional transitions to 'Shutdown mode' and 'Standby mode'.

MSv45391V2

State transition diagram for low-power modes including Low-power sleep, Low-power run, Run, Sleep, Stop 0, Stop 1, Standby, and Shutdown modes.

Table 40. Low-power mode summary

Mode nameEntryWakeup source (1)Wakeup system clockEffect on clocksVoltage regulators
MRLPR
Sleep
(Sleep-now or
Sleep-on-exit)
WFI or Return
from ISR
Any interruptSame as before
entering Sleep
mode
CPU clock OFF
no effect on other clocks
or analog clock sources
ON
WFEWakeup event
Low-power
run
Set LPR bitClear LPR bitSame as Low-
power run clock
NoneOFF
Low-power
sleep
Set LPR bit +
WFI or Return
from ISR
Any interruptSame as before
entering Low-
power sleep
mode
CPU clock OFF
no effect on other clocks
or analog clock sources
Set LPR bit +
WFE
Wakeup event
Stop 0LPMS="000" +
SLEEPDEEP bit
+ WFI or Return
from ISR or WFE
Any EXTI line
(configured in the
EXTI registers)

Specific
peripherals
events
HSI16All clocks OFF except
LSI and LSE
ONON
Stop 1LPMS="001" +
SLEEPDEEP bit
+ WFI or Return
from ISR or WFE
OFF
Standby with
SRAM2
LPMS="011"+
Set RRS bit +
SLEEPDEEP bit
+ WFI or Return
from ISR or WFE
WKUP pin edge,
RTC event, TAMP
event, external
reset on NRST
pin, IWDG reset
OFF
StandbyLPMS="011" +
Clear RRS bit +
SLEEPDEEP bit
+ WFI or Return
from ISR or WFE
ShutdownLPMS="1--" +
SLEEPDEEP bit
+ WFI or Return
from ISR or WFE
WKUP pin edge,
RTC event, TAMP
event, external
reset on NRST
pin
All clocks OFF except
LSE

1. Refer to Table 41: Functionalities depending on the working mode .

Table 41. Functionalities depending on the working mode (1)
PeripheralRunSleepLow-power runLow-power sleepStop 0/1StandbyShutdownVBAT
-Wake-up capability-Wake-up capability-Wake-up capability
CPUY-Y--------
Flash memoryO (2)O (2)O (2)O (2)-------
SRAM1YY (3)YY (3)Y------
SRAM2YY (3)YY (3)Y-O (4)----
CCM SRAMYY (3)YY (3)Y------
FSMCOOOO-------
QUADSPIOOOO-------
Backup RegistersYYYYY-Y-Y-Y
Brown-out reset (BOR)YYYYYYYY---
Programmable Voltage Detector (PVD)OOOOOO-----
Peripheral Voltage Monitor (PVM)OOOOOO-----
DMAOOOO-------
Oscillator HSI16OOOO(5)------
Oscillator HSI48OO---------
High Speed External (HSE)OOOO-------
Low Speed Internal (LSI)OOOOO-O----
Low Speed External (LSE)OOOOO-O-O-O
Clock Security System (CSS)OOOO-------
Clock Security System on LSEOOOOOOOO---
RTC / Auto wakeupOOOOOOOOOOO
Number of RTC Tamper pins33333O3O3O3
USBO (8)O (8)---O-----
USARTx (x=1,2,3,4,5)OOOOO (6)O (6)-----
Low-power UART (LPUART1)OOOOO (6)O (6)-----
I2Cx (x=1,2,3,4)OOOOO (7)O (7)-----

Table 41. Functionalities depending on the working mode (1) (continued)

PeripheralRunSleepLow-power runLow-power sleepStop 0/1StandbyShutdownVBAT
-Wakeup capability-Wakeup capability-Wakeup capability
SPIx (1,2,3,4)OOOO-------
FDCANx (1,2,3)OOOO-------
SAI1OOOO-------
ADCx (x=1,2,3,4,5)OOOO-------
DACx (x=1,2,3,4)OOOOO------
VREFBUFOOOOO------
OPAMPx (x=1,2,3,4,5,6)OOOOO------
COMPx (x=1,2,3,4,5,6,7)OOOOOO-----
Temperature sensorOOOO-------
Timers (TIMx)OOOO-------
High resolution timer 1 (HRTIM1)OOOO-------
Low-power timer 1 (LPTIM1)OOOOOO-----
Independent watchdog (IWDG)OOOOOOOO---
Window watchdog (WWDG)OOOO-------
SysTick timerOOOO-------
Random number generator (RNG)O (8)O (8)---------
AES hardware acceleratorOOOO-------
CRC calculation unitOOOO-------
GPIOsOOOOOO(9) 5 pins (10)(11) 5 pins (10)---
Filter Mathematical Accelerator (FMAC)OOOO-------
CORDIC co-processor (CORDIC)OOOO-------
  1. Legend: Y = Yes (Enable). O = Optional (Disable by default. Can be enabled by software). - = Not available , wakeup highlighted in gray.
  2. The Flash can be configured in power-down mode. By default, it is not in power-down mode.
  3. The SRAM clock can be gated on or off.
  4. SRAM2 content is preserved when the bit RRS is set in PWR_CR3 register.
  1. 5. Some peripherals with wakeup from Stop capability can request HSI16 to be enabled. In this case, HSI16 is woken up by the peripheral, and only feeds the peripheral which requested it. HSI16 is automatically put off when the peripheral does not need it anymore.
  2. 6. UART and LPUART reception is functional in Stop mode, and generates a wakeup interrupt on Start, address match or received frame event.
  3. 7. I2C address detection is functional in Stop mode, and generates a wakeup interrupt in case of address match.
  4. 8. Voltage scaling Range 1 only.
  5. 9. I/Os can be configured with internal pull-up, pull-down or floating in Standby mode.
  6. 10. The I/Os with wakeup from Standby/Shutdown capability are: PA0, PC13, PE6, PA2, PC5.
  7. 11. I/Os can be configured with internal pull-up, pull-down or floating in Shutdown mode but the configuration is lost when exiting the Shutdown mode.

Debug mode

By default, the debug connection is lost if the application puts the MCU in Stop 0, Stop1, Standby or Shutdown mode while the debug features are used. This is due to the fact that the Cortex®-M4 with FPU core is no longer clocked.

However, by setting some configuration bits in the DBGMCU_CR register, the software can be debugged even when using the low-power modes extensively. For more details, refer to Section 47.16.1: Debug support for low-power modes .

6.3.1 Run mode

Slowing down system clocks

In Run mode, the speed of the system clocks (SYSCLK, HCLK, PCLK) can be reduced by programming the prescaler registers. These prescalers can also be used to slow down the peripherals before entering the Sleep mode.

For more details, refer to Section 7.4.3: Clock configuration register (RCC_CFGR) .

Peripheral clock gating

In Run mode, the HCLK and PCLK for individual peripherals and memories can be stopped at any time to reduce the power consumption.

To further reduce the power consumption in Sleep mode, the peripheral clocks can be disabled prior to executing the WFI or WFE instructions.

The peripheral clock gating is controlled by the RCC_AHBxENR and RCC_APBxENR registers.

Disabling the peripherals clocks in Sleep mode can be performed automatically by resetting the corresponding bit in the RCC_AHBxSMENR and RCC_APBxSMENR registers.

6.3.2 Low-power run mode (LP run)

To further reduce the consumption when the system is in Run mode, the regulator can be configured in low-power mode. In this mode, the CPU frequency should not exceed 2 MHz.

Please refer to the product datasheet for more details on voltage regulator and peripherals operating conditions.

I/O states in Low-power run mode

In Low-power run mode, all I/O pins keep the same state as in Run mode.

Entering the Low-power run mode

To enter the Low-power run mode, proceed as follows:

  1. 1. Optional: Jump into the SRAM and power-down the Flash by setting the RUN_PD bit in the Flash access control register (FLASH_ACR) .
  2. 2. Decrease the CPU clock frequency below 2 MHz.
  3. 3. Force the regulator in low-power mode by setting the LPR bit in the PWR_CR1 register.

Refer to Table 42: Low-power run on how to enter the Low-power run mode.

Exiting the Low-power run mode

To exit the Low-power run mode, proceed as follows:

  1. 1. Force the regulator in main mode by clearing the LPR bit in the PWR_CR1 register.
  2. 2. Wait until REGLPF bit is cleared in the PWR_SR2 register.
  3. 3. Increase the CPU clock frequency.

Refer to Table 42: Low-power run on how to exit the Low-power run mode.

Table 42. Low-power run

Low-power run modeDescription
Mode entryDecrease the CPU clock frequency below 2 MHz
LPR = 1
Mode exitLPR = 0
Wait until REGLPF = 0
Increase the CPU clock frequency
Wakeup latencyRegulator wakeup time from low-power mode

6.3.3 Low power modes

Entering low power mode

Low power modes are entered by the MCU by executing the WFI (Wait For Interrupt), or WFE (Wait for Event) instructions, or when the SLEEPONEXIT bit in the Cortex®-M4 with FPU System Control register is set on Return from ISR.

Entering Low-power mode through WFI or WFE is executed only if no interrupt is pending or no event is pending.

Exiting low power mode

From Sleep modes, and Stop modes the MCU exit low power mode depending on the way the low power mode was entered:

by:

– NVIC IRQ interrupt.

- When SEVONPEND = 0 in the Cortex ® -M4 with FPU System Control register. By enabling an interrupt in the peripheral control register and in the NVIC. When the MCU resumes from WFE, the peripheral interrupt pending bit and the NVIC peripheral IRQ channel pending bit (in the NVIC interrupt clear pending register) have to be cleared.

Only NVIC interrupts with sufficient priority wakeup and interrupt the MCU.

- When SEVONPEND = 1 in the Cortex ® -M4 with FPU System Control register.

By enabling an interrupt in the peripheral control register and optionally in the NVIC. When the MCU resumes from WFE, the peripheral interrupt pending bit and when enabled the NVIC peripheral IRQ channel pending bit (in the NVIC interrupt clear pending register) have to be cleared.

All NVIC interrupts wakeup the MCU, even the disabled ones. Only enabled NVIC interrupts with sufficient priority wakeup and interrupt the MCU.

– Event

Configuring a EXTI line in event mode. When the CPU resumes from WFE, it is not necessary to clear the EXTI peripheral interrupt pending bit or the NVIC IRQ channel pending bit as the pending bits corresponding to the event line is not set.

It may be necessary to clear the interrupt flag in the peripheral.

From Standby modes, and Shutdown modes the MCU exit low power mode through an external reset (NRST pin), an IWDG reset, a rising edge on one of the enabled WKUPx pins or a RTC event occurs (see Figure 532: RTC block diagrams ).

After waking up from Standby or Shutdown mode, program execution restarts in the same way as after a Reset (boot pin sampling, option bytes loading, reset vector is fetched, etc.).

6.3.4 Sleep mode

I/O states in Sleep mode

In Sleep mode, all I/O pins keep the same state as in Run mode.

Entering the Sleep mode

The Sleep mode is entered according Section : Entering low power mode , when the SLEEPDEEP bit in the Cortex ® -M4 with FPU System Control register is clear.

Refer to Table 43: Sleep for details on how to enter the Sleep mode.

Exiting the Sleep mode

The Sleep mode is exit according Section : Exiting low power mode .

Refer to Table 43: Sleep for more details on how to exit the Sleep mode.

Table 43. Sleep

Sleep-now modeDescription
Mode entry

WFI (Wait for Interrupt) or WFE (Wait for Event) while:

  • – SLEEPDEEP = 0
  • – No interrupt (for WFI) or event (for WFE) is pending

Refer to the Cortex®-M4 with FPU System Control register.

On return from ISR while:

  • – SLEEPDEEP = 0 and
  • – SLEEPONEXIT = 1
  • – No interrupt is pending

Refer to the Cortex®-M4 with FPU System Control register.

Mode exit

If WFI or return from ISR was used for entry

Interrupt: refer to Table 100: STM32G4 series vector table

If WFE was used for entry and SEVONPEND = 0:

Wakeup event: refer to Section 15.3.2: Wake-up event management

If WFE was used for entry and SEVONPEND = 1:

Interrupt even when disabled in NVIC: refer to Table 100: STM32G4 series vector table or Wakeup event: refer to Section 15.3.2: Wake-up event management

Wakeup latencyNone

6.3.5 Low-power sleep mode (LP sleep)

Please refer to the product datasheet for more details on voltage regulator and peripherals operating conditions.

I/O states in Low-power sleep mode

In Low-power sleep mode, all I/O pins keep the same state as in Run mode.

Entering the Low-power sleep mode

The Low-power sleep mode is entered from low-power run mode according to Section : Entering low power mode , when the SLEEPDEEP bit in the Cortex®-M4 with FPU System Control register is clear.

Refer to Table 44: Low-power sleep for details on how to enter the Low-power sleep mode.

Exiting the Low-power sleep mode

The low-power Sleep mode is exit according to Section : Exiting low power mode . When exiting the Low-power sleep mode by issuing an interrupt or an event, the MCU is in Low-power run mode.

Refer to Table 44: Low-power sleep for details on how to exit the Low-power sleep mode.

Table 44. Low-power sleep

Low-power sleep-now modeDescription
Low-power sleep mode is entered from the Low-power run mode.
WFI (Wait for Interrupt) or WFE (Wait for Event) while:
– SLEEPDEEP = 0
– No interrupt (for WFI) or event (for WFE) is pending
Refer to the Cortex®-M4 with FPU System Control register.
Mode entryLow-power sleep mode is entered from the Low-power run mode.
On return from ISR while:
– SLEEPDEEP = 0 and
– SLEEPONEXIT = 1
– No interrupt is pending
Refer to the Cortex®-M4 with FPU System Control register.
Mode exitIf WFI or Return from ISR was used for entry
Interrupt: refer to Table 100: STM32G4 series vector table
If WFE was used for entry and SEVONPEND = 0:
Wakeup event: refer to Section 15.3.2: Wake-up event management
If WFE was used for entry and SEVONPEND = 1:
Interrupt even when disabled in NVIC: refer to Table 100: STM32G4 series vector table
Wakeup event: refer to Section 15.3.2: Wake-up event management
After exiting the Low-power sleep mode, the MCU is in Low-power run mode.
Wakeup latencyNone

6.3.6 Stop 0 mode

The Stop 0 mode is based on the Cortex®-M4 with FPU deepsleep mode combined with the peripheral clock gating. The voltage regulator is configured in main regulator mode. In Stop 0 mode, all clocks in the V CORE domain are stopped; the PLL, the HSI16 and the HSE oscillators are disabled. Some peripherals with the wakeup capability (I2Cx (x=1,2,3,4), U(S)ARTx(x=1,2...5) and LPUART) can switch on the HSI16 to receive a frame, and switch off the HSI16 after receiving the frame if it is not a wakeup frame. In this case, the HSI16 clock is propagated only to the peripheral requesting it.

SRAM1, SRAM2, CCM SRAM and register contents are preserved.

The BOR is always available in Stop 0 mode. The consumption is increased when thresholds higher than V BOR0 are used.

I/O states in Stop 0 mode

In the Stop 0 mode, all I/O pins keep the same state as in the Run mode.

Entering the Stop 0 mode

The Stop 0 mode is entered according Section : Entering low power mode , when the SLEEPDEEP bit in the Cortex®-M4 with FPU System Control register is set.

Refer to Table 45: Stop 0 mode for details on how to enter the Stop 0 mode.

If Flash memory programming is ongoing, the Stop 0 mode entry is delayed until the memory access is finished.

If an access to the APB domain is ongoing, The Stop 0 mode entry is delayed until the APB access is finished.

In Stop 0 mode, the following features can be selected by programming individual control bits:

Several peripherals can be used in Stop 0 mode and can add consumption if they are enabled and clocked by LSI or LSE, or when they request the HSI16 clock: LPTIM1, I2Cx (x=1,2,3,4) U(S)ARTx(x=1,2...5), LPUART.

The DACx (x=1,2,3,4), the OPAMPs and the comparators can be used in Stop 0 mode, the PWM and the PVD as well. If they are not needed, they must be disabled by software to save their power consumptions.

The ADCx (x=1,2,3,4,5), temperature sensor and VREFBUF buffer can consume power during the Stop 0 mode, unless they are disabled before entering this mode.

Exiting the Stop 0 mode

The Stop 0 mode is exit according Entering low power mode .

Refer to Table 45: Stop 0 mode for details on how to exit Stop 0 mode.

When exiting Stop 0 mode by issuing an interrupt or a wakeup event, the HSI16 oscillator is selected as system clock. If the device is configured to wake up in Low-power run mode, the HPRE bits in RCC_CFGR register must be configured prior to entering Stop 0 mode to provide a frequency not greater than 2 MHz.

When the voltage regulator operates in low-power mode, an additional startup delay is incurred when waking up from Stop 0 mode with HSI16. By keeping the internal regulator ON during Stop 0 mode, the consumption is higher although the startup time is reduced.

When exiting the Stop 0 mode, the MCU is either in Run mode (Range 1 or Range 2 depending on VOS bit in PWR_CR1) or in Low-power run mode if the bit LPR is set in the Power control register 1 (PWR_CR1).

Table 45. Stop 0 mode

Stop 0 modeDescription
Mode entry

WFI (Wait for Interrupt) or WFE (Wait for Event) while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – No interrupt (for WFI) or event (for WFE) is pending
  • – LPMS = “000” in PWR_CR1

On Return from ISR while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – SLEEPONEXIT = 1
  • – No interrupt is pending
  • – LPMS = “000” in PWR_CR1

Note: To enter Stop 0 mode, all EXTI Line pending bits (in Pending register 1 (EXTI_PR1)), and the peripheral flags generating wakeup interrupts must be cleared. Otherwise, the Stop 0 mode entry procedure is ignored and program execution continues.

Mode exit

If WFI or Return from ISR was used for entry

Any EXTI Line configured in Interrupt mode (the corresponding EXTI Interrupt vector must be enabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer to Table 100: STM32G4 series vector table .

If WFE was used for entry and SEVONPEND = 0:

Any EXTI Line configured in event mode. Refer to Section 15.3.2: Wake-up event management .

If WFE was used for entry and SEVONPEND = 1:

Any EXTI Line configured in Interrupt mode (even if the corresponding EXTI Interrupt vector is disabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer to Table 100: STM32G4 series vector table .

Wakeup event: refer to Section 15.3.2: Wake-up event management

Wakeup latencyLongest wakeup time between: HSI16 wakeup time and Flash wakeup time from Stop 0 mode.

6.3.7 Stop 1 mode

The Stop 1 mode is the same as Stop 0 mode except that the main regulator is OFF, and only the low-power regulator is ON. Stop 1 mode can be entered from Run mode and from Low-power run mode.

Refer to Table 46: Stop 1 mode for details on how to enter and exit Stop 1 mode.

Table 46. Stop 1 mode

Stop 1 modeDescription
Mode entry

WFI (Wait for Interrupt) or WFE (Wait for Event) while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – No interrupt (for WFI) or event (for WFE) is pending
  • – LPMS = “001” in PWR_CR1

On Return from ISR while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – SLEEPONEXIT = 1
  • – No interrupt is pending
  • – LPMS = “001” in PWR_CR1

Note: To enter Stop 1 mode, all EXTI Line pending bits (in Section 15.5.6: Pending register 1 (EXTI_PR1) ), and the peripheral flags generating wakeup interrupts must be cleared. Otherwise, the Stop 1 mode entry procedure is ignored and program execution continues.

Mode exit

If WFI or Return from ISR was used for entry

Any EXTI Line configured in Interrupt mode (the corresponding EXTI Interrupt vector must be enabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer to Table 100: STM32G4 series vector table .

If WFE was used for entry and SEVONPEND = 0:

Any EXTI Line configured in event mode. Refer to Section 15.3.2: Wake-up event management .

If WFE was used for entry and SEVONPEND = 1:

Any EXTI Line configured in Interrupt mode (even if the corresponding EXTI Interrupt vector is disabled in the NVIC). The interrupt source can be external interrupts or peripherals with wakeup capability. Refer to Table 100: STM32G4 series vector table .

Wakeup event: refer to Section 15.3.2: Wake-up event management

Wakeup latencyLongest wakeup time between: HSI16 wakeup time and regulator wakeup time from Low-power mode + Flash wakeup time from Stop 1 mode.

6.3.8 Standby mode

The Standby mode allows to achieve the lowest power consumption with BOR. It is based on the Cortex®-M4 with FPU deepsleep mode, with the voltage regulators disabled (except when SRAM2 content is preserved). The PLL, the HSI16, and the HSE oscillators are also switched off.

SRAM1 and register contents are lost except for registers in the Backup domain and Standby circuitry (see Figure 12 ). SRAM2 content can be preserved if the bit RRS is set in the PWR_CR3 register. In this case the Low-power regulator is ON and provides the supply to SRAM2 only.

The BOR is always available in Standby mode. The consumption is increased when thresholds higher than \( V_{BOR0} \) are used.

I/O states in Standby mode

In the Standby mode, the I/Os can be configured either with a pull-up (refer to PWR_PUCRx registers ( \( x=A,B,C,D,E,F,G \) )), or with a pull-down (refer to PWR_PDCRx registers ( \( x=A,B,C,D,E,F,G \) )), or can be kept in analog state.

The RTC outputs on PC13 are functional in Standby mode. PC14 and PC15 used for LSE are also functional. 5 wakeup pins (WKUPx, \( x=1,2\dots5 \) ) and the 3 RTC tampers are available.

Entering Standby mode

The Standby mode is entered according Section : Entering low power mode , when the SLEEPDEEP bit in the Cortex ® -M4 with FPU System Control register is set.

Refer to Table 47: Standby mode for details on how to enter Standby mode.

In Standby mode, the following features can be selected by programming individual control bits:

Exiting Standby mode

The Standby mode is exit according Section : Entering low power mode . The SBF status flag in the Power control register 3 (PWR_CR3) indicates that the MCU was in Standby mode. All registers are reset after wakeup from Standby except for Power control register 3 (PWR_CR3) .

Refer to Table 47: Standby mode for more details on how to exit Standby mode.

Table 47. Standby mode
Standby modeDescription
Mode entry

WFI (Wait for Interrupt) or WFE (Wait for Event) while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – No interrupt (for WFI) or event (for WFE) is pending
  • – LPMS = “011” in PWR_CR1
  • – WUFX bits are cleared in power status register 1 (PWR_SR1)

On return from ISR while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – SLEEPONEXIT = 1
  • – No interrupt is pending
  • – LPMS = “011” in PWR_CR1 and
  • – WUFX bits are cleared in power status register 1 (PWR_SR1)
  • – The RTC flag corresponding to the chosen wakeup source (RTC Alarm A, RTC Alarm B, RTC wakeup, tamper or timestamp flags) is cleared
Mode exitWKUPx pin edge, RTC event, external Reset in NRST pin, IWDG Reset, BOR reset
Wakeup latencyReset phase

6.3.9 Shutdown mode

The Shutdown mode allows to achieve the lowest power consumption. It is based on the deepsleep mode, with the voltage regulator disabled. The V CORE domain is consequently powered off. The PLL, the HSI16, the LSI and the HSE oscillators are also switched off.

SRAM1, SRAM2, CCM SRAM and register contents are lost except for registers in the Backup domain. The BOR is not available in Shutdown mode. No power voltage monitoring is possible in this mode, therefore the switch to Backup domain is not supported.

I/O states in Shutdown mode

In the Shutdown mode, the I/Os can be configured either with a pull-up (refer to PWR_PUCRx registers (x=A,B,C,D,E,F,G), or with a pull-down (refer to PWR_PDCRx registers (x=A,B,C,D,E,F,G)), or can be kept in analog state. However this configuration is lost when exiting the Shutdown mode due to the power-on reset.

The RTC outputs on PC13 are functional in Shutdown mode. PC14 and PC15 used for LSE are also functional. 5 wakeup pins (WKUPx, x=1,2...5) and the 3 RTC tampers are available.

Entering Shutdown mode

The Shutdown mode is entered according Entering low power mode , when the SLEEPDEEP bit in the Cortex ® -M4 with FPU System Control register is set.

Refer to Table 48: Shutdown mode for details on how to enter Shutdown mode.

In Shutdown mode, the following features can be selected by programming individual control bits:

Exiting Shutdown mode

The Shutdown mode is exit according Section : Exiting low power mode . A power-on reset occurs when exiting from Shutdown mode. All registers (except for the ones in the Backup domain) are reset after wakeup from Shutdown.

Refer to Table 48: Shutdown mode for more details on how to exit Shutdown mode.

Table 48. Shutdown mode

Shutdown modeDescription
Mode entry

WFI (Wait for Interrupt) or WFE (Wait for Event) while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – No interrupt (for WFI) or event (for WFE) is pending
  • – LPMS = “1XX” in PWR_CR1
  • – WUFx bits are cleared in power status register 1 (PWR_SR1)

On return from ISR while:

  • – SLEEPDEEP bit is set in Cortex®-M4 with FPU System Control register
  • – SLEEPONEXT = 1
  • – No interrupt is pending
  • – LPMS = “1XX” in PWR_CR1 and
  • – WUFx bits are cleared in power status register 1 (PWR_SR1)
  • – The RTC flag corresponding to the chosen wakeup source (RTC Alarm A, RTC Alarm B, RTC wakeup, tamper or timestamp flags) is cleared
Mode exitWKUPx pin edge, RTC event, external Reset in NRST pin
Wakeup latencyReset phase

6.3.10 Auto-wakeup from low-power mode

The RTC can be used to wakeup the MCU from low-power mode without depending on an external interrupt (Auto-wakeup mode). The RTC provides a programmable time base for waking up from Stop (0 or 1) or Standby mode at regular intervals. For this purpose, two of the three alternative RTC clock sources can be selected by programming the RTCSEL[1:0] bits in the RTC domain control register (RCC_BDCR) :

To wakeup from Stop mode with an RTC alarm event, it is necessary to:

To wakeup from Standby mode, there is no need to configure the EXTI Line 17.

To wakeup from Stop mode with an RTC wakeup event, it is necessary to:

To wakeup from Standby mode, there is no need to configure the EXTI Line 20.

6.4 PWR registers

The peripheral registers can be accessed by half-words (16-bit) or words (32-bit).

6.4.1 Power control register 1 (PWR_CR1)

Address offset: 0x00

Reset value: 0x0000 0200

This register is reset after wakeup from Standby mode.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.LPRRes.Res.Res.VOS[1:0]DBPRes.Res.Res.Res.Res.LPMS[2:0]
rwrwrwrwrwrwrw

Bits 31:15 Reserved, must be kept at reset value.

Bit 14 LPR : Low-power run

When this bit is set, the regulator is switched from main mode (MR) to low-power mode (LPR).

Bits 13:11 Reserved, must be kept at reset value.

Bits 10:9 VOS[1:0] : Voltage scaling range selection

00: Cannot be written (forbidden by hardware)

01: Range 1

10: Range 2

11: Cannot be written (forbidden by hardware)

Bit 8 DBP : Disable backup domain write protection

In reset state, the RTC and backup registers are protected against parasitic write access. This bit must be set to enable write access to these registers.

0: Access to RTC and Backup registers disabled

1: Access to RTC and Backup registers enabled

Bits 7:3 Reserved, must be kept at reset value.

Bits 2:0 LPMS[2:0] : Low-power mode selection

These bits select the low-power mode entered when CPU enters the deepsleep mode.

000: Stop 0 mode

001: Stop 1 mode

010: Reserved

011: Standby mode

1xx: Shutdown mode

Note: In Standby mode, SRAM2 can be preserved or not, depending on RRS bit configuration in PWR_CR3.

6.4.2 Power control register 2 (PWR_CR2)

Address offset: 0x04

Reset value: 0x0000 0000

This register is reset when exiting Standby mode.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PVME2PVME1Res.Res.PLS[2:0]PVDE
rwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bit 7 PVME2 : Peripheral voltage monitoring 2 enable: \( V_{DDA} \) vs. DAC 1MSPS /DAC 15MSPS min voltage.

0: PVM2 ( \( V_{DDA} \) monitoring vs. 1.8 V threshold) disable.

1: PVM2 ( \( V_{DDA} \) monitoring vs. 1.8 V threshold) enable.

Bit 6 PVME1 : Peripheral voltage monitoring 1 enable: \( V_{DDA} \) vs. ADC/COMP min voltage 1.62V

0: PVM1 ( \( V_{DDA} \) monitoring vs. 1.62V threshold) disable.

1: PVM1 ( \( V_{DDA} \) monitoring vs. 1.62V threshold) enable.

Bits 5:4 Reserved, must be kept at reset value.

Bits 3:1 PLS[2:0] : Programmable voltage detector level selection.

These bits select the PVD falling threshold:

000: \( V_{PVD0} \) PVD threshold 0

001: \( V_{PVD1} \) PVD threshold 1

010: \( V_{PVD2} \) PVD threshold 2

011: \( V_{PVD3} \) PVD threshold 3

100: \( V_{PVD4} \) PVD threshold 4

101: \( V_{PVD5} \) PVD threshold 5

110: \( V_{PVD6} \) PVD threshold 6

111: External input analog voltage PVD_IN (compared internally to \( V_{REFINT} \) )

Note: These bits are write-protected when the PVDL bit is set in the SYSCFG_CFGR2 register. The protection can be reset only by a system reset.

Bit 0 PVDE : Programmable voltage detector enable

0: Programmable voltage detector disable.

1: Programmable voltage detector enable.

Note: This bit is write-protected when the PVDL bit is set in the SYSCFG_CFGR2 register. The protection can be reset only by a system reset.

6.4.3 Power control register 3 (PWR_CR3)

Address offset: 0x08

Reset value: 0x0000 8000

This register is not reset when exiting Standby modes and with the PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EIWULUCPD1_DBDISUCPD1_STDBYRes.Res.APCRes.RRSRes.Res.Res.EWUP5EWUP4EWUP3EWUP2EWUP1
rWrWrWrWrWrWrWrWrWrW

Bits 31:16 Reserved, must be kept at reset value.

Bit 15 EIWUL : Enable internal wakeup line

0: Internal wakeup line disable.

1: Internal wakeup line enable.

Bit 14 UCPD1_DBDIS : USB Type-C and Power Delivery Dead Battery disable.

After exiting reset, the USB Type-C “dead battery” behavior is enabled, which may have a pull-down effect on CC1 and CC2 pins. It is recommended to disable it in all cases, either to stop this pull-down or to hand over control to the UCPD1 (which should therefore be initialized before doing the disable).

0: Enable USB Type-C dead battery pull-down behavior on UCPD1_CC1 and UCPD1_CC2 pins.

1: Disable USB Type-C dead battery pull-down behavior on UCPD1_CC1 and UCPD1_CC2 pins.

Bit 13 UCPD1_STDBY : UCPD1_STDBY USB Type-C and Power Delivery standby mode.

0: Write '0' immediately after standby exit when using UCPD1, (and before writing any UCPD1 registers).

1: Write '1' just before entering standby when using UCPD1.

Bits 12:11 Reserved, must be kept at reset value.

Bit 10 APC : Apply pull-up and pull-down configuration

When this bit is set, the I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied. When this bit is cleared, the PWR_PUCRx and PWR_PDCRx registers are not applied to the I/Os.

Bit 9 Reserved, must be kept at reset value.

Bit 8 RRS : SRAM2 retention in Standby mode

0: SRAM2 is powered off in Standby mode (SRAM2 content is lost).

1: SRAM2 is powered by the low-power regulator in Standby mode (SRAM2 content is kept).

Bits 7:5 Reserved, must be kept at reset value.

Bit 4 EWUP5 : Enable Wakeup pin WKUP5

When this bit is set, the external wakeup pin WKUP5 is enabled and triggers a wakeup from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP5 bit in the PWR_CR4 register.

Bit 3 EWUP4 : Enable Wakeup pin WKUP4

When this bit is set, the external wakeup pin WKUP4 is enabled and triggers a wakeup from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP4 bit in the PWR_CR4 register.

Bit 2 EWUP3 : Enable Wakeup pin WKUP3

When this bit is set, the external wakeup pin WKUP3 is enabled and triggers a wakeup from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP3 bit in the PWR_CR4 register.

Bit 1 EWUP2 : Enable Wakeup pin WKUP2

When this bit is set, the external wakeup pin WKUP2 is enabled and triggers a wakeup from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP2 bit in the PWR_CR4 register.

Bit 0 EWUP1 : Enable Wakeup pin WKUP1

When this bit is set, the external wakeup pin WKUP1 is enabled and triggers a wakeup from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP1 bit in the PWR_CR4 register.

6.4.4 Power control register 4 (PWR_CR4)

Address offset: 0x0C

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with the PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.VBRSVBERes.Res.Res.WP5WP4WP3WP2WP1
rwrwrwrwrwrwrw

Bits 31:10 Reserved, must be kept at reset value.

Bit 9 VBRS : V BAT battery charging resistor selection

Bit 8 VBE : V BAT battery charging enable

Bits 7:5 Reserved, must be kept at reset value.

Bit 4 WP5 : Wakeup pin WKUP5 polarity

This bit defines the polarity used for an event detection on external wake-up pin, WKUP5

Bit 3 WP4 : Wakeup pin WKUP4 polarity

This bit defines the polarity used for an event detection on external wake-up pin, WKUP4

Bit 2 WP3 : Wakeup pin WKUP3 polarity

This bit defines the polarity used for an event detection on external wake-up pin, WKUP3

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 1 WP2 : Wakeup pin WKUP2 polarity

This bit defines the polarity used for an event detection on external wake-up pin, WKUP2

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 0 WP1 : Wakeup pin WKUP1 polarity

This bit defines the polarity used for an event detection on external wake-up pin, WKUP1

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

6.4.5 Power status register 1 (PWR_SR1)

Address offset: 0x10

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with the PWRRST bit in the RCC_APB1RSTR1 register.

Access: 2 additional APB cycles are needed to read this register vs. a standard APB read.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
WUFIRes.Res.Res.Res.Res.Res.SBFRes.Res.Res.WUF5WUF4WUF3WUF2WUF1
rrrrrrr

Bits 31:16 Reserved, must be kept at reset value.

Bit 15 WUFI : Wakeup flag internal

This bit is set when a wakeup is detected on the internal wakeup line. It is cleared when all internal wakeup sources are cleared.

Bits 14:9 Reserved, must be kept at reset value.

Bit 8 SBF : Standby flag

This bit is set by hardware when the device enters the Standby mode and is cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset.

0: The device did not enter the Standby mode

1: The device entered the Standby mode

Bits 7:5 Reserved, must be kept at reset value.

Bit 4 WUF5 : Wakeup flag 5

This bit is set when a wakeup event is detected on wakeup pin, WKUP5. It is cleared by writing '1' in the CWUF5 bit of the PWR_SCR register.

Bit 3 WUF4 : Wakeup flag 4

This bit is set when a wakeup event is detected on wakeup pin, WKUP4. It is cleared by writing '1' in the CWUF4 bit of the PWR_SCR register.

Bit 2 WUF3 : Wakeup flag 3

This bit is set when a wakeup event is detected on wakeup pin, WKUP3. It is cleared by writing '1' in the CWUF3 bit of the PWR_SCR register.

Bit 1 WUF2 : Wakeup flag 2

This bit is set when a wakeup event is detected on wakeup pin, WKUP2. It is cleared by writing '1' in the CWUF2 bit of the PWR_SCR register.

Bit 0 WUF1 : Wakeup flag 1

This bit is set when a wakeup event is detected on wakeup pin, WKUP1. It is cleared by writing '1' in the CWUF1 bit of the PWR_SCR register.

6.4.6 Power status register 2 (PWR_SR2)

Address offset: 0x14

Reset value: 0x0000 0000

This register is partially reset when exiting Standby/Shutdown modes.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PVMO2PVMO1Res.Res.PVDOVOSFREGLPFREGLPSFLASH_RDYRes.Res.Res.Res.Res.Res.Res.
rrrrrrr

Bits 31:16 Reserved, must be kept at reset value.

Bit 15 PVMO2 : Peripheral voltage monitoring output: \( V_{DDA} \) vs. 1.8 V

0: \( V_{DDA} \) voltage is above PVM2 threshold (around 1.8 V).

1: \( V_{DDA} \) voltage is below PVM2 threshold (around 1.8 V).

Note: PVMO2 is cleared when PVM2 is disabled (PVME2 = 0). After enabling PVM2, the PVM2 output is valid after the PVM2 wakeup time.

Bit 14 PVMO1 : Peripheral voltage monitoring output: \( V_{DDA} \) vs. 1.62 V

0: \( V_{DDA} \) voltage is above PVM1 threshold (around 1.62 V).

1: \( V_{DDA} \) voltage is below PVM1 threshold (around 1.62 V).

Note: PVMO1 is cleared when PVM1 is disabled (PVME1 = 0). After enabling PVM1, the PVM1 output is valid after the PVM1 wakeup time.

Bits 13:12 Reserved, must be kept at reset value.

Bit 11 PVDO : Programmable voltage detector output

0: \( V_{DD} \) is above the selected PVD threshold

1: \( V_{DD} \) is below the selected PVD threshold

Bit 10 VOSF : Voltage scaling flag

A delay is required for the internal regulator to be ready after the voltage scaling has been changed. VOSF indicates that the regulator reached the voltage level defined with VOS bits of the PWR_CR1 register.

0: The regulator is ready in the selected voltage range

1: The regulator output voltage is changing to the required voltage level

Bit 9 REGLPF : Low-power regulator flag

This bit is set by hardware when the MCU is in Low-power run mode. When the MCU exits the Low-power run mode, this bit remains at 1 until the regulator is ready in main mode. A polling on this bit must be done before increasing the product frequency.

This bit is cleared by hardware when the regulator is ready.

0: The regulator is ready in main mode (MR)

1: The regulator is in low-power mode (LPR)

Bit 8 REGLPS : Low-power regulator started

This bit provides the information whether the low-power regulator is ready after a power-on reset or a Standby/Shutdown. If the Standby mode is entered while REGLPS bit is still cleared, the wakeup from Standby mode time may be increased.

0: The low-power regulator is not ready

1: The low-power regulator is ready

Bit 7 FLASH_RDY : Flash ready flag

This bit is set by hardware to indicate when the Flash memory is ready to be accessed after wakeup from power-down. To place the Flash memory in power-down, set either FPD_LPRUN, FPD_LPSLP or FPD_STP bits.

0: Flash memory in power-down

1: Flash memory ready to be accessed

Note: If the system boots from SRAM, the user application must wait till FLASH_RDY bit is set, prior to jumping to Flash memory.

Bits 6:0 Reserved, must be kept at reset value.

6.4.7 Power status clear register (PWR_SCR)

Address offset: 0x18

Reset value: 0x0000 0000

Access: 3 additional APB cycles are needed to write this register vs. a standard APB write.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.CSBFRes.Res.Res.CWUF
5
CWUF
4
CWUF
3
CWUF
2
CWUF
1
wwwwww

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 CSBF : Clear standby flag

Setting this bit clears the SBF flag in the PWR_SR1 register.

Bits 7:5 Reserved, must be kept at reset value.

  1. Bit 4 CWUF5 : Clear wakeup flag 5
    Setting this bit clears the WUF5 flag in the PWR_SR1 register.
  2. Bit 3 CWUF4 : Clear wakeup flag 4
    Setting this bit clears the WUF4 flag in the PWR_SR1 register.
  3. Bit 2 CWUF3 : Clear wakeup flag 3
    Setting this bit clears the WUF3 flag in the PWR_SR1 register.
  4. Bit 1 CWUF2 : Clear wakeup flag 2
    Setting this bit clears the WUF2 flag in the PWR_SR1 register.
  5. Bit 0 CWUF1 : Clear wakeup flag 1
    Setting this bit clears the WUF1 flag in the PWR_SR1 register.

6.4.8 Power Port A pull-up control register (PWR_PUCRA)

Address offset: 0x20.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PU15Res.PU13PU12PU11PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

  1. Bit 15 PU15 : Port A pull-up bit 15
    When set, this bit activates the pull-up on PA[15] when APC bit is set in PWR_CR3 register.
    The pull-up is not activated if the corresponding PD15 bit is also set.

Bit 14 Reserved, must be kept at reset value.

  1. Bits 13:0 PUy : Port A pull-up bit y (y = 13 to 0)
    When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register.
    The pull-up is not activated if the corresponding PDy bit is also set.

6.4.9 Power Port A pull-down control register (PWR_PDCRA)

Address offset: 0x24.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.PD14Res.PD12PD11PD10PD9PD8PD7PD6PD5PD4PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:15 Reserved, must be kept at reset value.

Bit 14 PD14 : Port A pull-down bit 14

When set, this bit activates the pull-down on PA[14] when APC bit is set in PWR_CR3 register.

Bit 13 Reserved, must be kept at reset value.

Bits 12:0 PDy : Port A pull-down bit y (y = 12 to 0)

When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register.

6.4.10 Power Port B pull-up control register (PWR_PUCRB)

Address offset: 0x28.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PU15PU14PU13PU12PU11PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PUy : Port B pull-up bit y (y = 15 to 0)

When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register.
The pull-up is not activated if the corresponding PDy bit is also set.

6.4.11 Power Port B pull-down control register (PWR_PDCRB)

Address offset: 0x2C.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PD15PD14PD13PD12PD11PD10PD9PD8PD7PD6PD5Res.PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:5 PDy : Port B pull-down bit y (y = 15 to 5)

When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register.

Bit 4 Reserved, must be kept at reset value.

Bits 3:0 PDy : Port B pull-down bit y (y = 3 to 0)

When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register.

6.4.12 Power Port C pull-up control register (PWR_PUCRC)

Address offset: 0x30.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PU15PU14PU13PU12PU11PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PUy : Port C pull-up bit y (y = 15 to 0)

When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register.

The pull-up is not activated if the corresponding PDy bit is also set.

6.4.13 Power Port C pull-down control register (PWR_PDCRC)

Address offset: 0x34.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PD15PD14PD13PD12PD11PD10PD9PD8PD7PD6PD5PD4PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PDy : Port C pull-down bit y (y = 15 to 0)

When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register.

6.4.14 Power Port D pull-up control register (PWR_PUCRD)

Address offset: 0x38.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PU15PU14PU13PU12PU11PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PUy : Port D pull-up bit y (y = 15 to 0)

When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register.
The pull-up is not activated if the corresponding PDy bit is also set.

6.4.15 Power Port D pull-down control register (PWR_PDCRD)

Address offset: 0x3C.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PD15PD14PD13PD12PD11PD10PD9PD8PD7PD6PD5PD4PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PDy : Port D pull-down bit y (y = 15 to 0)

When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register.

6.4.16 Power Port E pull-up control register (PWR_PUCRE)

Address offset: 0x40.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PU15PU14PU13PU12PU11PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PUy : Port E pull-up bit y (y = 15 to 0)

When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register.
The pull-up is not activated if the corresponding PDy bit is also set.

6.4.17 Power Port E pull-down control register (PWR_PDCRE)

Address offset: 0x44.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PD15PD14PD13PD12PD11PD10PD9PD8PD7PD6PD5PD4PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PDy : Port E pull-down bit y (y = 15 to 0)

When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register.

6.4.18 Power Port F pull-up control register (PWR_PUCRF)

Address offset: 0x48.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PU15PU14PU13PU12PU11PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PUy : Port F pull-up bit y (y = 15 to 0)

When set, this bit activates the pull-up on PF[y] when APC bit is set in PWR_CR3 register.
The pull-up is not activated if the corresponding PDy bit is also set.

6.4.19 Power Port F pull-down control register (PWR_PDCRF)

Address offset: 0x4C.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PD15PD14PD13PD12PD11PD10PD9PD8PD7PD6PD5PD4PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 PDy : Port F pull-down bit y (y = 15 to 0)

When set, this bit activates the pull-down on PF[y] when APC bit is set in PWR_CR3 register.

6.4.20 Power Port G pull-up control register (PWR_PUCRG)

Address offset: 0x50.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.PU10PU9PU8PU7PU6PU5PU4PU3PU2PU1PU0
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:11 Reserved, must be kept at reset value.

Bits 10:0 PUy : Port G pull-up bit y (y = 10 to 0)

When set, this bit activates the pull-up on PG[y] when APC bit is set in PWR_CR3 register.
The pull-up is not activated if the corresponding PDy bit is also set.

6.4.21 Power Port G pull-down control register (PWR_PDCRG)

Address offset: 0x54.

Reset value: 0x0000 0000

This register is not reset when exiting Standby modes and with PWRRST bit in the RCC_APB1RSTR1 register.

Access: Additional APB cycles are needed to access this register vs. a standard APB access (3 for a write and 2 for a read).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.PD10PD9PD8PD7PD6PD5PD4PD3PD2PD1PD0
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:11 Reserved, must be kept at reset value.

Bits 10:0 PDy : Port G pull-down bit y (y = 10 to 0)
When set, this bit activates the pull-down on PG[y] when APC bit is set in PWR_CR3 register.

6.4.22 Power control register (PWR_CR5)

Address offset: 0x80.

Reset value: 0x0000 0100

This register is reset only by power on reset.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.R1MODERes.Res.Res.Res.Res.Res.Res.Res.
rw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 R1MODE : Main regular range 1 mode

This bit is only valid for the main regulator in range 1 and has no effect on range 2. It is recommended to reset this bit when the system frequency is greater than 150 MHz. Refer to Table 38: Range 1 boost mode configuration .

0: Main regulator in range 1 boost mode.

1: Main regulator in range 1 normal mode.

Bits 7:0 Reserved, must be kept at reset value.

6.4.23 PWR register map and reset value table

Table 49. PWR register map

OffsetRegister313029282726252423222120191817161514131211109876543210
0x00PWR_CR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPRRes.Res.Res.VOS [1:0]DBPRes.Res.Res.Res.Res.Res.FPD_STOPLPMS [2:0]
Reset value00101000
0x04PWR_CR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PVME2Res.Res.Res.Res.PLS[2:0]Res.PVDE
Reset value00000
0x08PWR_CR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EIWDULUCPD1_BDISRes.Res.APCRes.RRSRes.Res.Res.Res.EWUP5EWUP4EWUP3EWUP2EWUP1
Reset value000000000
0x0CPWR_CR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VBRVBERes.Res.Res.Res.WP5WP4WP3WP2WP1
Reset value0000000
0x10PWR_SR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SBFRes.Res.Res.Res.WUF5WUF4WUF3WUF2WUF1
Reset value000000
0x14PWR_SR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PVMO2PVMO1Res.Res.PVDOVOSFREGLPFREGLPSRes.Res.Res.Res.Res.Res.
Reset value000000
0x18PWR_SCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CSBFRes.Res.Res.Res.CWUF5CWUF4CWUF3CWUF2CWUF1
Reset value000000
0x20PWR_PUCRARes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PU15PU14PU13PU12PU11
Reset value00000
0x24PWR_PDCRARes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PD15PD14PD13PD12PD11
Reset value00000
0x28PWR_PUCRBRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PU15PU14PU13PU12PU11
Reset value00000
0x2CPWR_PDCRBRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PD15PD14PD13PD12PD11
Reset value00000
0x30PWR_PUCRCRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PU15PU14PU13PU12PU11
Reset value00000
0x34PWR_PDCRCRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PD15PD14PD13PD12PD11
Reset value00000
0x38PWR_PUCRDRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PU15PU14PU13PU12PU11
Reset value00000

Table 49. PWR register map (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x3CPWR_PDCRDRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPD15oPD14oPD13oPD12oPD11oPD10oPD9oPD8
Reset valueooooooooooooooo
0x40PWR_PUCRERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPU15oPU14oPU13oPU12oPU11oPU10oPU9oPU8
Reset valueooooooooooooooo
0x44PWR_PDCRERes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPD15oPD14oPD13oPD12oPD11oPD10oPD9oPD8
Reset valueooooooooooooooo
0x48PWR_PUCRFRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPU15oPU14oPU13oPU12oPU11oPU10oPU9oPU8
Reset valueooooooooooooooo
0x4CPWR_PDCRFRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPD15oPD14oPD13oPD12oPD11oPD10oPD9oPD8
Reset valueooooooooooooooo
0x50PWR_PUCRGRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPU15oPU14oPU13oPU12oPU11oPU10oPU9oPU8
Reset valueooooooooooooooo
0x54PWR_PDCRGRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.oPD15oPD14oPD13oPD12oPD11oPD10oPD9oPD8
Reset valueooooooooooooooo
0x80PWR_CR5Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value
Refer to Section 2.2 on page 82 for the register boundary addresses.