//Enter HIB mode void HIB() { EALLOW; CpuSysRegs.LPMCR.bit.LPM = LPM_HIB; EDIS; DisablePeripheralClocks(); EALLOW; ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0; ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 0; EDIS; asm(" IDLE"); }
//Enter HIB mode (dual CPU). Puts CPU2 in STANDBY first. Alternately, //CPU2 may be in reset. void HIB() { #if defined(CPU2) STANDBY(); #elif defined(CPU1) EALLOW; CpuSysRegs.LPMCR.bit.LPM = LPM_HIB; EDIS; while (DevCfgRegs.LPMSTAT.bit.CPU2LPMSTAT == 0x0 && DevCfgRegs.RSTSTAT.bit.CPU2RES == 1) {;} DisablePeripheralClocks(); EALLOW; ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0; ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 0; EDIS; asm(" IDLE"); #endif }