This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

cc3200 gpio sleep 睡眠唤醒求救!

Other Parts Discussed in Thread: CC3200

static void MICButtonHandler()
{
           unsigned long ulPinState = GPIOIntStatus(GPIOA1_BASE,1);
           if(ulPinState & GPIO_PIN_5)
           {
                     //Clear and Disable GPIO Interrupt
                     //MAP_GPIOIntDisable(GPIOA1_BASE,GPIO_PIN_5);
                     MAP_GPIOIntClear(GPIOA1_BASE,GPIO_PIN_5);
                      //MAP_IntDisable(INT_GPIOA1);


              }

}




#if 1
           MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_RUN_MODE_CLK);
           MAP_PinTypeGPIO(PIN_04, PIN_MODE_0, false);//配置为GPIO模式
           MAP_GPIODirModeSet(GPIOA1_BASE, 0x20, GPIO_DIR_MODE_IN);//配置为输入功能
           MAP_GPIOIntTypeSet(GPIOA1_BASE,GPIO_PIN_5,GPIO_FALLING_EDGE);//边沿触发
           MAP_GPIOIntRegister(GPIOA1_BASE,(P_OSI_INTR_ENTRY)MICButtonHandler);
           MAP_GPIOIntClear(GPIOA1_BASE,GPIO_PIN_5);
           MAP_GPIOIntEnable(GPIOA1_BASE,GPIO_INT_PIN_5);
#if 0
           MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_DSLP_MODE_CLK);

           DBG_PRINT("DEEPSLEEP: Entering Deep Sleep\n\r");
           MAP_UtilsDelay(80000);
           MAP_PRCMSleepEnter();//PRCMSleepEnter();//每天17:00进入深度睡眠。
           DBG_PRINT("DEEPSLEEP: Exiting Deep Sleep\n\r");

           MAP_PRCMPeripheralClkDisable(PRCM_GPIOA1, PRCM_DSLP_MODE_CLK);
#endif
#endif

问题:如上代码配置,MICButtonHandler中断函数是可以接收到SW3按键触发。且没有任何问题。

          如果我把红的部分的#if 0 ,修改为#if 1,使用睡眠唤醒功能,即按键触发退出睡眠模式。程序永远运行在睡眠模式下,跑不到DBG_PRINT("DEEPSLEEP: Exiting Deep Sleep\n\r");

    故求教工程师们,为什么?

       发了好多帖子,都没人回复,希望这次能得到回答。