嗨,团队,
我正在工作的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
设备:

嗨wisillica,
是的,580保留其状态而在睡眠模式下,但一旦它醒来periph_setup()执行为了配置针,所以他们设置在默认状态,解决办法是让销的状态在你的弗兰克-威廉姆斯和重新配置在periph_init()。
由于MT_dialog
你好,
为什么每次芯片从睡眠中醒来都需要做外围init ?删除这个调用会有任何副作用吗?
谢谢,
Wisilica
嗨wisilica,
系统的LP_Handler()中调用了外围的init(),是否有一个原因,你想删除这个函数?在580年国家保留和不销的功能,所以一旦你入睡国家将保留但不配置和只要你醒来的580将会默认配置针没有periph_init()。
由于MT_dialog