GPIO状态在长时间睡眠中没有保留

4个职位/ 0个新
最后发表
wisilica
离线
最后看到:10个月2周之前
加入:2015-03-17 08:16
GPIO状态在长时间睡眠中没有保留

嗨,团队,
我正在工作的ble_app_peripheral项目。默认睡眠模式在user_config.h文件中设置为ARCH_EXT_SLEEP_ON。我使用的gpio配置如下在set_pad_function()中设置:
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_GPIO, true);
此外,在使用GPIO_SetActive和GPIO_SetInactive函数的代码中,这个gpio的状态是不同的。
我们面临的问题是,gpio的当前状态不会在每次设备从长时间睡眠中醒来时被保留。通过每次使用该函数将gpio设置为当前状态,解决了这个问题
set_pad_function()中的GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_GPIO, present_gpio_state)。
这是预期的行为吗,还是有其他方法可以让gpios在长时间睡眠期间保持当前状态。

谢谢,
团队Wisilica

设备:
MT_dialog
离线
最后看到:2个月1周前
工作人员
加入:2015-06-08 34
嗨wisillica,

嗨wisillica,

是的,580保留其状态而在睡眠模式下,但一旦它醒来periph_setup()执行为了配置针,所以他们设置在默认状态,解决办法是让销的状态在你的弗兰克-威廉姆斯和重新配置在periph_init()。

由于MT_dialog

wisilica
离线
最后看到:10个月2周之前
加入:2015-03-17 08:16
你好,

你好,

为什么每次芯片从睡眠中醒来都需要做外围init ?删除这个调用会有任何副作用吗?

谢谢,
Wisilica

MT_dialog
离线
最后看到:2个月1周前
工作人员
加入:2015-06-08 34
嗨wisilica,

嗨wisilica,

系统的LP_Handler()中调用了外围的init(),是否有一个原因,你想删除这个函数?在580年国家保留和不销的功能,所以一旦你入睡国家将保留但不配置和只要你醒来的580将会默认配置针没有periph_init()。

由于MT_dialog