如题,请问如何在从深睡眠唤醒后保持gpio输出状态?
现象是有时能保持,有时不能保持. 需要用GPIO输出维持供电, 所以不能保持输出就会让系统停机~~~
//configure ps_hold MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
MAP_GPIODirModeSet(GPIO_PORTE_BASE, GPIO_PIN_1, GPIO_DIR_MODE_OUT);
MAP_GPIOPadConfigSet(GPIO_PORTE_BASE, GPIO_PIN_1,
GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
MAP_GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_1, GPIO_PIN_1);
MAP_SysCtlPeripheralDeepSleepEnable(SYSCTL_PERIPH_USB0);
MAP_SysCtlPeripheralDeepSleepEnable(SYSCTL_PERIPH_GPIOB);
MAP_SysCtlPeripheralDeepSleepEnable(SYSCTL_PERIPH_GPIOE);
MAP_SysCtlPeripheralClockGating(true);
MAP_SysTickIntDisable();
g_bWakeFromIsrFlag = false;
MAP_SysCtlDeepSleep();
xyz549040622:
GPIO 管脚的状态在休眠过程中可保持不变。你设置下,让他一直保持不变也可以。理论上,唤醒后会保持原来的状态,出现有时不能保保存的情况,你可以试试在睡眠前保持当前的状态,写入一个标志,唤醒后读取这个标志。
Kongxl:
问题在增加外部上拉电阻后貌似(测试5次)解决.