GPIO wakeup edges may be lost in STANDBY mode
Details
After waking up once through a single GPIO edge, subsequent GPIO wakeup edges can be missed in STANDBY modes.
- Case 1: STANDBY0 wakeup - IF the MCU is set into
STANDBY0 mode before one cycle of LFCLK AND you set the IO back to the
“non-wake” state for <1 LFCLK cycle AND THEN assert it again, the next wakeup
edge will not be detected.
- Case 2: STANDBY1 wakeup - IF a GPIO edge is used to wakeup AND the GPIO pulse is still active when the device returns to STANDBY1 THEN the device will not detect any subsequent wakeup edges.
Workaround
- Case 1:
- Set GPIO wakeup edge to both falling and rising edges
- OR Ensure GPIO wakeup pulse is longer than one LFCLK cycle
- Case 2:
- Set GPIO wakeup edge to both falling and rising edges
- OR Ensure GPIO wakeup pulse is not active before entering STANDBY1