Skip to main content
Visitor II
December 11, 2025
Question

[stm32u585] Voltage drops on GPIO when wakes up from standby

  • December 11, 2025
  • 3 replies
  • 109 views

hello

Description:

I'm currently working with the STM32U585 and encountered an issue related to GPIO behavior after waking up from standby mode.

Before entering standby, I configure certain GPIO pull-up:(No external pull-down resistors on the affected pins)

HAL_PWREx_EnableGPIOPullUp(PWR_GPIO_D, PWR_GPIO_BIT_14);
HAL_PWREx_EnablePullUpPullDownConfig();

However, after the MCU wakes up from standby (via wakeup pin), I observe a brief voltage drop on those previously GPIOs, about 300ms. This drop occurs before the firmware reinitializes the GPIO configuration:

RigolDS1.png

i added a delay(implemented with i--)before calling the HAL_Init() function, and the voltage drop became less pronounced:

RigolDS0.png

Questions:

  1. Is this behavior expected due to the standby mode reset mechanism?

  2. Is there a recommended way to retain GPIO output levels across standby wakeup?

  3. Could this be related to the IO pull settings or the boot configuration?

  4. Are there any hardware-level workarounds to avoid this voltage dip?

  5. Why does delay have such an impact
    This topic has been closed for replies.

    3 replies

    lllAuthor
    Visitor II
    December 12, 2025

    It seems that the pull-up did not take effect

    Technical Moderator
    December 12, 2025

    Hello @lll 

    Is the pin PD14 is disconnected from other device when measuring the voltage level?

    lllAuthor
    Visitor II
    December 12, 2025

    Yes, PD14 is disconnected from other device, and I tested two IO ports both exhibited the same phenomenon

    Super User
    December 29, 2025

    Doesn't make a whole lot of sense to me.

    If you set the pulldown resistor instead of pullup, what happens?

    Is PD14 being initialized as output? Initialize it as input instead, with a pullup. What happens?

     

    300ms is an eternity. Why does it take so long to re-initialize the pin?