LPC11C24 Deep Sleep Wakeup Handler

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC11C24 Deep Sleep Wakeup Handler

914 Views
f_fiorini
Contributor III

Hello, 
I'm currently working on an application that involves the LPC11C24 board and we're using the LPCXpresso LPC11C24 Rev B board (with LPC-Link) to test it. 
We want to make use of the deep sleep mode so that under certain working conditions the board can go to deep sleep mode, and then wake up as soon as an input pin is toggled. 

I worked through the example code (lpc11x.keil-examples-CMSIS-update / pmu) and I noticed that the interrupt handler is not working properly.

In particular, the execution can switch between deep sleep and active mode, but as soon as the board wakes up the code gets stuck in the IntDefaultHandler(void) function, defined in cr_startup_lpc11xx.cpp. 
It states that "processor ends up here if an unexpected interrupt occurs or a specific handler is not present in the application code"

I'm quite a beginner in using such technologies so I don't know whether it's something I forgot to mention in the interrupt handler or some error in my code.

Attached there is the code I'm currently using.

Labels (4)
0 Kudos
2 Replies

669 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Federico Fiorini,

   It should be your code's problem.

   Please run my attached LPC11C24 project which is based on the LPCXpresso IDE or the MCUXpresso IDE.

   I have run it on my LPCXpresso11C24 board, it works OK.

   The code will run in the deep sleep mode, P1.4 pin is the wake up pin. After you download my code to your LPC11C24, you need to connect P1.4 pin to 3.3V, then reset the chip, you will find LED is not ON, because the chip is enter the deep sleep mode, after you connect P1.4 pin to low, you will find the LED is ON, it means your MCU is waked up.

   Please note, in the low power mode, debugger will be disconnected, so you need to download the code to the MCU to test without debug.

   Please try it on your side.

   You can find the LPCXpresso IDE or the MCUXpress IDE from this link:

1. LPCXpresso IDE

   LPCXpresso IDE v8.2.2|NXP 

   This is the old IDE, now can be replaced by the MCUXpresso IDE, and the LPCXpresso IDE project can run in the MCUXpresso IDE directly.

2. MCUXpresso IDE

MCUXpresso IDE|Eclipse-based Integrated Development Environment (IDE)|NXP 

   Please note, when you use the MCUXPresso IDE to import the LPCXpresso IDE, please copy the project to the workspace.

  Just like this:

pastedImage_9.png

Wish it helps you!

If you still have question about it, please kindly let me know!
Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

669 Views
f_fiorini
Contributor III

Hi kerryzhou‌, 
thanks for the prompt reply! 

I already tried using the example on MCUXpresso, in particular I used pins 0.2, 0.6, 0.8 or 0.9 as wakeup input sources. 
Apparently the wakeup handler doesn't work in my case, but I really don't know what could possibly happen. 

P.S: The code seems a bit unclear in some parts, it looks like it's using pin 0.4 to wakeup and not 1.4

Kind regards,

Federico

0 Kudos