GPIO状态未保留在延长的睡眠中

4个帖子 / 0新
最后一篇文章
Wisilica
离线
最后一次露面:11个月2天前
加入:2015-03-17 08:16
GPIO状态未保留在延长的睡眠中

大家好,
我正在研究BLE_APP_PERIPHERAL项目。默认睡眠模式设置为user_config.h文件中的Arch_ext_sleep_on。我正在使用gpio,该gpio在periph_init()中的set_pad_function()中的set_pad_function():
gpio_configurepin(gpio_port_0,gpio_pin_4,output,pid_gpio,true);
同样,使用GPIO_SETACTIVE和GPIO_SETINACTIVE函数在代码中这种GPIO的状态在代码中有所不同。
我们面临的问题是,每次设备从延长的睡眠中醒来时,GPIO的当前状态都不会保留。该问题是通过每次使用函数将GPIO配置为当前状态来解决的
gpio_configurepin(gpio_port_0,gpio_pin_4,output,pid_gpio,present_gpio_state)in set_pad_function()。
这是预期的行为,还是有其他方法可以使GPIO在延长睡眠期间保持其当前状态。

谢谢,
Wisilica团队

设备:
mt_dialog
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨,威斯利卡,

嗨,威斯利卡,

是的,580在睡眠模式下保留其状态,但是一旦醒来,periph_setup()执行以配置引脚,因此设置了它们,但在其默认状态下,解决方案就是保持销钉的解决方案。在您的FW中陈述并相应地在Periph_init()中重新配置它。

谢谢mt_dialog

Wisilica
离线
最后一次露面:11个月2天前
加入:2015-03-17 08:16
你好,

你好,

为什么每次芯片从睡眠中醒来时都需要做一个periph_init?删除此电话会有任何副作用吗?

谢谢,
Wisilica

mt_dialog
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨,Wisilica,

嗨,Wisilica,

PERIPH_INIT()在系统的LP_HANDLER()中调用,是否有原因删除该函数?在580中,状态被保留,而不是PIN的功能,因此,一旦您入睡,状态就会保留,而不是配置,并且一旦您唤醒,580就会具有无需销钉的默认配置periph_init()。

谢谢mt_dialog