最近在做SPC560B54L5低功耗程序,测试时,系统有时能进入待机状态,有时不能进入,进入后有时能唤醒有时不能唤醒,哪位大神能指点下?
void LowPowerDrive(void)
{
irqIsrDisable();//采用这种,只关中断
ClosePeripheralMode();//关外设//BspStop();//关外设
//配置RTC,采用RTC唤醒
ConfigureRTC(20);//10S
//打开CFLASH,打开内部晶振
ME.DRUN.R = 0X001F0010;
//清空唤醒标志位
WKUP.WISR.R = 0xFFFFFFFFU;
//休眠状态配置 开启内部128k的src,关闭主时钟,dflahs、cflahs处于低功耗模式、开启PD0
CGM.SIRC_CTL.B.RCDIV = 0; // 128 kHz oscillator divider
CGM.SIRC_CTL.B.SIRCON_STDBY = 1; // enable 128K IRC in STANDBY
ME.STANDBY0.R = 0X0085000F;
if (CLOCK_FAILED == SPCSetRunMode(SPC5_RUNMODE_STANDBY)) {
//SPC5_CLOCK_FAILURE_HOOK();
}
} |