微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc3200 gpio sleep 睡眠唤醒求救!

cc3200 gpio sleep 睡眠唤醒求救!

时间:12-23 整理:3721RD 点击:

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");

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

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

 已经找到问题了,不过还是要谢谢工程师么!

最后是哪里出了问题了,可以给我点经验吗?我的qq:972903389

是 PRCM_DSLP_MODE_CLK 与 PRCMSleepEnter() 不匹配造成的吗?

我遇到了同样的问题, S3按键无法唤醒,不知您是如何解决的?不吝赐教。

  MAP_PRCMSleepEnter();//PRCMSleepEnter();//每天17:00进入深度睡眠。

需要改成 PRCMDeepSleepEnter();就行了

你做cc3200多久了!可以一起讨论,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top