哪位高人指点一下:我用NANO100系列的芯片,要做低功耗,即电源按钮检测到按下,进入掉电模式(认为是关机),然后采用GPIO模式的GPB10脚(即关机的同一颗按钮)按下激活,就是唤醒回到程序。可是我根据BSP做的程序,怎么也进不了,唤醒不了?求解
void GPIO_INTCallback(uint32_t u32GPABStatus, uint32_t u32GPCDEStatus)
{
;// printf("GPIO interrupt. [0x%08X]\n", u32GPABStatus);
}
uint8_t InitGPIOWakeupFunction(void)
{
DrvGPIO_Open(E_GPB, 10, E_IO_OPENDRAIN);
DrvGPIO_SetIntCallback(GPIO_INTCallback, NULL);
DrvGPIO_EnableInt(E_GPB, 10, E_IO_FALLING, E_MODE_EDGE);
return TRUE;
}
void UnInitGPIOWakeupFunction(void)
{
DrvGPIO_DisableInt(E_GPB, 10);
DrvGPIO_Close(E_GPB, 10);
}
main.......
if(InitGPIOWakeupFunction()==FALSE) continue;
SCB->SCR = 4;
// LCD_Close();
UNLOCKREG();
DrvSYS_SetPowerDownWakeUpInt(1,NULL,0);
DrvSYS_EnterPowerDown();
DrvSYS_Delay(1000); //或采用:__WFI(); //
UNLOCKREG();
UnInitGPIOWakeupFunction();
LOCKREG();
......................
此主程序中的按钮检测任务中的一段
运行结果:有SCB->SCR = 4; 则进入死机一样的状态,唤醒无效
请各位高人指点!!!!
|