问答

汇集网友智慧,解决技术难题

21ic问答首页 - 华大HC136深度休眠唤醒后,无法再次休眠

HC sleep SCR ps go eps

华大HC136深度休眠唤醒后,无法再次休眠

sweet蜘蛛侠2021-08-05
进入深度休眠唤醒后  无法再次进入休眠
我是用的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();
       
}


回答 +关注 17
2764人浏览 0人回答问题 分享 举报
0 个回答

您需要登录后才可以回复 登录 | 注册