3200 lpds唤醒问题
hi ,各位大神,请教关于lpds的问题。
目前应用场景是, 串口指令控制进入休眠正常,用idle profile所示的gpio13唤醒也正常,但唤醒项目想采用的是uart,我在进入待机前将uart的pin57重新初始化为io,代码如下,尝试了很多配置方式都无法成功,希望有了解的可以给个思路,怎么解决,非常感谢!
(gpio_list中已手动加入GPIO_02)
MAP_PRCMPeripheralClkDisable(PRCM_UARTA0, PRCM_RUN_MODE_CLK);
MAP_PRCMPeripheralClkEnable(PRCM_GPIOA0, PRCM_RUN_MODE_CLK|PRCM_SLP_MODE_CLK);
MAP_PinTypeGPIO(PIN_57, PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA0_BASE, 0x04, GPIO_DIR_MODE_IN);
tGPIOHndl = cc_gpio_open(2, GPIO_DIR_INPUT);
cc_gpio_enable_notification(tGPIOHndl, 2, GPIO_BOTH_EDGES, (GPIO_TYPE_NORMAL | GPIO_TYPE_WAKE_SOURCE));
lp3p0_setup_power_policy(POWER_POLICY_STANDBY);
cc_app_resume_pm();//cc_app_putoff_pm();
另外在同一个地方,如果是gpio13就可以,代码如下
MAP_PRCMPeripheralClkEnable(PRCM_GPIOA1, PRCM_RUN_MODE_CLK);
MAP_PinTypeGPIO(PIN_04, PIN_MODE_0, false);
MAP_GPIODirModeSet(GPIOA1_BASE, 0x20, GPIO_DIR_MODE_IN);
tGPIOHndl = cc_gpio_open(13, GPIO_DIR_INPUT);
cc_gpio_enable_notification(tGPIOHndl, 13, GPIO_BOTH_EDGES,(GPIO_TYPE_NORMAL | GPIO_TYPE_WAKE_SOURCE));
lp3p0_setup_power_policy(POWER_POLICY_STANDBY);
cc_app_resume_pm();//cc_app_putoff_pm();
只有6个IO可以用作LPDS唤醒源的,GPIO (2,4,11,13,17,24 – only one),