进入深度休眠唤醒后 无法再次进入休眠
我是用的lpm_gotodeepsleep函数
进入休眠,但是中断触发后 就不会再继续休眠,维持唤醒状态。
进入休眠放在while1最后位置。
代码:
///< 配置Demo板上所有不使用的IO为高阻输入,避免端口漏电
App_LowPowerModeGpioSet();
M0P_SYSCTRL->PERI_CLKEN = 0;
Sysctrl_ClkDeInit();
///< 进入低功耗模式——深度休眠(使能唤醒后退出中断自动休眠特性)
Lpm_GotoDeepSleep(TRUE);
void Lpm_GotoDeepSleep(boolean_t bOnExit)
{
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
SCB->SCR |= 1u<<bOnExit;
// SCB->SCR = 0x00;
// SCB->SCR = 0x01<<2 ;
__WFI();
}
|