Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
8 years, 2 months ago.
LPC408x Wake up from Deep Sleep
Hi, I'm playing with the deep sleep modes for the Cortex M4 and can get the processor to wake up from 'Sleep' using and external pin. When I try to wake up from 'Deep Sleep' the processor starts running about 1/6 of its normal speed (the LED I have flashing flashes very slowly). Reading through the user manual for the M4 it says you need to re-enter values for the clock dividers and PLLs so the processor will run normally again. Has anyone got any code to do this? All I have at the minute is:
static void powerDown() { SCB->SCR |= 0x00000004; // Deep Sleep Mode - bit 2 high //SCB->SCR &= 0xFFFFFFFB; // Sleep Mode LPC_SC->PCON = 0x00; // Sleep/Deep Sleep mode (defined by SLEEPDEEP bit in M4 System Control Reg) //LPC_SC->PCON = 0x01; // Power-down mode if SLEEPDEEP bit in the M4 System Control Reg = 1 //LPC_SC->PCON = 0x11; // Deep Power-down mode if SLEEPDEEP bit in the M4 System Control Reg = 1 // wait for interrupt __WFI(); }
Thanks
* SOLVED * I needed to re-enable PLL0 and set up the clock divider again...