睡眠函数的修改如下(测试暂时没发现问题):
void ns_sleep(void)
{
switch(rwip_sleep())
{
case RWIP_DEEP_SLEEP:
if(ns_sleep_lock == 0){
GLOBAL_INT_DISABLE();
app_sleep_prepare_proc();
NS_LOG_DEINIT();
entry_sleep();
NS_LOG_INIT();
GLOBAL_INT_RESTORE();
app_sleep_resume_proc();
if(g_sleep_status_flag)
{
RCC->APB1PCLKEN |= RCC_APB1_PERIPH_PWR; // PWR enable
PWR->CR2 |= 0x100; //1<<8
while(!(PWR->CR1&0x20));
}
break;
}
case RWIP_CPU_SLEEP:
{
EXTI_PA11_Configuration();
PWR->CR1 &= 0xF0;
SCB->SCR &= 0xFB;
__WFI();
}
break;
case RWIP_ACTIVE:
default:
{
}
break;
}
}
|