cancel
Showing results for 
Search instead for 
Did you mean: 

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

lll
Associate III

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
6 REPLIES 6
lll
Associate III

It seems that the pull-up did not take effect

Saket_Om
ST Employee

Hello @lll 

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

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Saket_Om

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

Is this a common issue with chips

help

TDK
Super User

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?

If you feel a post has answered your question, please click "Accept as Solution".