Skip to main content
RusikOk
Associate III
June 12, 2026
Question

not working RTO in STOP1 mode STM32G030

  • June 12, 2026
  • 3 replies
  • 105 views

Hi! 
I use LL drivers to work with UART as follows:

	LL_USART_SetRxTimeout(USART1, 3 * 11);
LL_USART_EnableRxTimeout(USART1);
LL_USART_ClearFlag_RTO(USART1);
LL_USART_EnableIT_RTO(USART1);

LL_USART_EnableIT_RXNE(USART1);

and it works fine until I switch the MK to STOP1 mode 

	HAL_SuspendTick(); 
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); // STOP1
HAL_ResumeTick();

What do I need to do to get this to work in STOP1 mode?

3 replies

Pavel A.
June 12, 2026

What means “not working” exactly: the RXNE interrupt does not occur? RTO interrupt does not occur?

RusikOk
RusikOkAuthor
Associate III
June 12, 2026

RXNE - working

RTO - not working

void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 1 */
if(LL_USART_IsActiveFlag_WKUP(USART1) && LL_USART_IsEnabledIT_WKUP(USART1)) // Check WUF flag value in ISR register
{
LL_USART_DisableIT_WKUP(USART1); // Disable the UART Wake UP from stop mode Interrupt
LL_USART_ClearFlag_WKUP(USART1); // WUF flag clearing
}

if(LL_USART_IsActiveFlag_RTO(USART1) && LL_USART_IsEnabledIT_RTO(USART1)) // обработка таймаута
{
LL_USART_ClearFlag_RTO(USART1); // Clear the RTO flag to rearm it for the next transmission
}

if(LL_USART_IsActiveFlag_RXNE(USART1) && LL_USART_IsEnabledIT_RXNE(USART1))
{
...........

 

Pavel A.
June 15, 2026