-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Description
Description
- Type: Bug
- Priority: Major
- Related: Fix for Silicon Labs RTC #5854, RTX idle: sleep without locked deep sleep fix #5866, Why does default_idle_hook() lock deep sleep? #6199
Bug
Target
Tested on EFM32PG12
Toolchain:
GCC_ARM
Toolchain version:
6-2017-q2-update
mbed-cli version:
1.3.0
mbed-os sha:
caeaa49
Expected behavior
InterruptIn
should wake the MCU from deep sleep.
Actual behavior
Tickless actually works quite well on EFM32. Even complex and time-sensitive communications are fine, with i2c, spi, uart. Even cellular. But the problem came from an unexpected thing: InterruptIn
.
Steps to reproduce
InterruptIn interrupt(Pin);
motion.rise(callback(&isr));
isr()
never gets called while the MCU is in deep sleep. As soon as it wakes and stays in a longer communication (e.g. cellular), it gets called without issues.