Conflicting Deep Sleep Info | Cypress Semiconductor
Conflicting Deep Sleep Info
In my application, I am sampling an accelerometer at 1600 Hz. In my ISR, I set a flag which is then processed in my main loop. This works fine when I don't use any sleep modes.
However, once I add CySysPmDeepSleep() into the main loop, I never wake up and service the interrupt. I service the interrupt once before going to sleep, but never wake back up to service it again.
According to this document, a GPIO interrupt is a valid wakeup source from deep sleep:
In another document, it states that all GPIO are frozen automatically when entering deep sleep (section 10.12):
The behavior I'm seeing implies the latter is correct, since it seems like the GPIO tied to my accelerometer is no longer causing me to wake from deep sleep. I only have this problem with deep sleep as CySysPmSleep() works without issue and I see my accel interrupt at 1600 Hz.
Am I misinterpreting one of these app notes, because they seem to have conflicting information? Any help is greatly appreciated!