Universal synchronous/asynchronous receiver transmitter (USART/UART) RM0440
1640/2126 RM0440 Rev 4
Note: Before entering low-power mode, make sure that no USART transfers are ongoing.
Checking the BUSY flag cannot ensure that low-power mode is never entered when data
reception is ongoing.
The WUF flag is set when a wakeup event is detected, independently of whether the MCU is
in low-power or active mode.
When entering low-power mode just after having initialized and enabled the receiver, the
REACK bit must be checked to make sure the USART is enabled.
When DMA is used for reception, it must be disabled before entering low-power mode and
re-enabled when exiting from low-power mode.
When the FIFO is enabled, waking up from low-power mode on address match is only
possible when Mute mode is enabled.
Using Mute mode with low-power mode
If the USART is put into Mute mode before entering low-power mode:
• Wakeup from Mute mode on idle detection must not be used, because idle detection
cannot work in low-power mode.
• If the wakeup from Mute mode on address match is used, then the low-power mode
wakeup source must also be the address match. If the RXNE flag was set when
entering the low-power mode, the interface remains in Mute mode upon address match
and wake up from low-power mode.
Note: When FIFO management is enabled, Mute mode can be used with wakeup from low-power
mode without any constraints (i.e.the two points mentioned above about Mute and low-
power mode are valid only when FIFO management is disabled).
Wakeup from low-power mode when USART kernel clock (usart_ker_ck) is
OFF in low-power mode
If during low-power mode, the usart_ker_ck clock is switched OFF when a falling edge on
the USART receive line is detected, the USART interface requests the usart_ker_ck clock to
be switched ON thanks to the usart_ker_ck_req signal. usart_ker_ck is then used for the
frame reception.
If the wakeup event is verified, the MCU wakes up from low-power mode and data reception
goes on normally.
If the wakeup event is not verified, usart_ker_ck is switched OFF again, the MCU is not
woken up and remains in low-power mode, and the kernel clock request is released.
The example below shows the case of a wakeup event programmed to “address match
detection” and FIFO management disabled.