implement LP1768 power mode
Fork of steven_powercontrol by
powercontrol.h
- Committer:
- steniu01
- Date:
- 2014-08-01
- Revision:
- 1:2976b5aa967b
- Parent:
- steven_powercontrol.h@ 0:fc6cd61e7460
File content as of revision 1:2976b5aa967b:
//sleep mode void steven_Sleep(void) { LPC_SC->PCON=0x0; // SRC[SLEEPDEEP] set to 0 = sleep, this bit control whether the processor uses sleep or deep sleep as its low power mode SCB->SCR &= ~SCB_SCR_SLEEPDEEP_Msk; // wait for interrupt __WFI(); } // "Deep Sleep" mode void steven_DeepSleep(void) { // PCON[PD] set to DeepSleep LPC_SC->PCON = 0x0; // SRC[SLEEPDEEP] set to 0 = DeepSleep SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; // wait for interrupt __WFI(); } //"Power-Down" Mode void steven_PowerDown(void) { SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; LPC_SC->PCON=0x1; // PM1=0, PM0=1, enter power down mode if the SLEEPDEEP bit in SCR is 1 __WFI(); //reset back to normal LPC_SC->PCON = 0x1; } //"Deep Power-Down" Mode void steven_DeepPowerDown(void) { SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; LPC_SC->PCON = 0x3;//// PM1=1, PM0=1, enter deep power down mode if the SLEEPDEEP bit in SCR is 1 __WFI(); //reset back to normal LPC_SC->PCON =0x0; } // "Brown-out Reduced Power mode" void steven_BOGD_PowerDown(void) { LPC_SC->PCON=0x1d; // PM1=0, PM0=1, enter power down mode if the SLEEPDEEP bit in SCR is 1; BOGD SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; __WFI(); }