Search code examples
c++armembeddedcortex-mlpc

LPC1700 won't wake up from deep sleep


I have firmware running on LPC1754, 59 and 68 + FreeRTOS + CMSIS.

I'd like to be able to put the microcontroller in the lowest power mode possible, but:

  1. "sleep" is not enough.
  2. Once the microcontroller is in "deep sleep", "power down" or "deep power down", I can't wake it anymore by pressing a button (EINT3).

As far as I read in the "LPC17xx User manual" (pg 58, 59), I should be able to wake up from EINT3 up to "power down" mode.

What I am missing? Is the interrupt being generated while in low power? How to tell? Should I do any specific stuff to be able to generate it?

  • Just to simplify, I am running from the internal RC, so the PLL errata is not a concern.

EDIT:

  • I am, in fact, using "GPIO Interrupts" for a couple of pins in P2, that, in turn, is shared with EINT3. The EINT3 pin itself (P2.13) was not being used. See the comment below.

Solution

  • From UM10360 - User manual, Rev. 2 — 19 August 2010 page 758:

    Remark: If the processor detects a connection to a debugger it disables the WIC.

    So it won't wake up!!!

    What a shame...