2 years ago.

SMT32L4 GPIO Needs 3 ms to Cause Wake from Deep Sleep


I have a NUCLEO_L433RC_P and want to use MBED_TICKLESS. One of the wake-up sources needs to be a GPIO.

I'm creating an InterruptIn and adding a fall handler:

InterruptIn interrupt_in(PB_4, PullUp);

If Mbed OS has entered deep sleep it appears the GPIO must be low for 3 ms in order to wake-up the MCU and for the interrupt to fire.

In other words, for pulses more than 3 ms what I trying appears to work but less than 3 ms and nothing happens. 3 ms seems like a long time to me!

Without MBED_TICKLESS defined a much shorter pulse will cause the interrupt to fire.

Does this mean anything to anyone?

Any thoughts greatly appreciated.

Regards, Matt

Question relating to:

A world leader in providing the semiconductor solutions that make a positive contribution to people’s lives, both today and in the future.

I've just discovered https://github.com/ARMmbed/mbed-os/issues/6205 and https://github.com/ARMmbed/mbed-os/pull/6315.

I had thought that this behaviour was something to do with the STM32L4, which is why I posted here, but I now suspect that it is something to do with the InterruptIn implementation.

I shall look into these issues more closely and see if they are transferable to STM32.

posted by Matt Brown 11 Jul 2018

I've opened an issue https://github.com/ARMmbed/mbed-os/issues/7493

posted by Matt Brown 12 Jul 2018
Be the first to answer this question.