RM0440
37.3.14
LPUART low-power management
The LPUART has advanced low-power mode functions allowing it to transfer properly data
even when the lpuart_pclk clock is disabled.
The LPUART is able to wake up the MCU from low-power mode when the UESM bit is set.
When the usart_pclk is gated, the LPUART provides a wakeup interrupt (usart_wkup) if a
specific action requiring the activation of the usart_pclk clock is needed:
• If FIFO mode is disabled
luart_pclk clock has to be activated to empty the LPUART data register.
In this case, the lpuart_wkup interrupt source is the RXNE set to '1'. The RXNEIE bit
must be set before entering low-power mode.
• If FIFO mode is enabled
luart_pclk clock has to be activated
– to fill the TXFIFO
– or to empty the RXFIFO
In this case, the lpuart_wkup interrupt source can be:
– RXFIFO not empty. In this case, the RXFNEIE bit must be set before entering low-
power mode.
– RXFIFO full. In this case, the RXFFIE bit must be set before entering low-power
mode, the number of received data corresponds to the RXFIFO size, and the RXFF
flag is not set .
– TXFIFO empty. In this case, the TXFEIE bit must be set before entering low-power
mode.
This allows sending/receiving the data in the TXFIFO/RXFIFO during low-power mode.
To avoid overrun/underrun errors and transmit/receive data in low-power mode, the
lpuart_wkup interrupt source can be one of the following events:
– TXFIFO threshold reached. In this case, the TXFTIE bit must be set before entering
low-power mode.
– RXFIFO threshold reached. In this case, the RXFTIE bit must be set before entering
low-power mode.
For example, the application can set the threshold to the maximum RXFIFO size if the
wakeup time is less than the time to receive a single byte across the line.
Using the RXFIFO full, TXFIFO empty, RXFIFO not empty and RXFIFO/TXFIFO
threshold interrupts to wakeup the MCU from low-power mode allows doing as many
LPUART transfers as possible during low-power mode with the benefit of optimizing
consumption.
Alternatively, a specific lpuart_wkup interrupt may be selected through the WUS bitfields.
When the wakeup event is detected, the WUF flag is set by hardware and lpuart_wkup
interrupt is generated if the WUFIE bit is set. In this case the lpuart_wkup interrupt is not
mandatory for the wakeup. The WUF being set is sufficient to wakeup the MCU from low-
power mode.
Low-power universal asynchronous receiver transmitter (LPUART)
RM0440 Rev 1
1663/2083
1692
Need help?
Do you have a question about the STM32G4 Series and is the answer not in the manual?
Questions and answers