Skip to main content
Visitor II
September 13, 2025
Question

STM32U585 - Low Power Mode and UART DMA Issue

  • September 13, 2025
  • 1 reply
  • 325 views

Dear STMicroelectronics Support Team,

I am working with the STM32U585I-IOT02A development board, and I need assistance with the following:

  • Entering and waking from low power modes (STOP2 or STANDBY) using the RTC wakeup timer
  • Configuring UART1 with DMA and ensuring it resumes correctly after waking up
  • Handling interrupts before and after sleep modes

I have tried implementing the configuration using STM32CubeIDE and HAL libraries. However, I'm encountering issues where UART DMA does not resume correctly after wake-up.

I would appreciate any official guidance or example code specific to STM32U585.

    This topic has been closed for replies.

    1 reply

    ST Employee
    September 23, 2025

    Hi @shivss ,

    Managing low power modes with RTC wakeup and ensuring UART with DMA resumes correctly on the STM32U585I-IOT02A requires careful configuration of the power, clock, UART, DMA, and interrupt systems.


    UART DMA must be properly initialized before entering low power mode.

    • After wakeup, DMA streams and UART peripheral clocks may be off and need re-enabling.
    • Re-initialize or restart DMA reception after wakeup.
    • Use circular mode for continuous reception if applicable.

    Important:

    Before entering STOP2/STANDBY:

    • Ensure all interrupts you want to wake the MCU are enabled.
    • Clear any pending interrupt flags.
    • Suspend or stop peripherals if needed.

    After wakeup:

    • Reconfigure system clocks (PLL, HSE, etc.).
    • Re-enable peripheral clocks (UART, DMA).
    • Re-initialize or restart peripherals (UART DMA reception).
    • Clear wakeup flags.

    Here are official example and resources for STM32U5 Series to help you out.

    STM32CubeU5 Firmware Package:
    Contains examples for low power modes, RTC wakeup, UART with DMA, and power management.
    Download from STMicroelectronics website or via STM32CubeIDE Package Manager.
     

    Example Projects to Check:

    • Projects/STM32U585I-EV/Examples/PWR/PWR_STOP2_RTC_WakeUp
    • Projects/STM32U585I-EV/Examples/USART/USART_DMA

    Here is a simple snippet example combining all, the sytemclock configuration and USART/DMA enabling operations can be performed outside the Callback e.g in the int_main function

     

    Best regards,
    Aime