在读取GPIO引脚状态之前需要调用periph_init()?

5个帖子/ 0新
最后一篇
SUMMER20100514.
离线
最后一次露面:4年2个月前
格鲁鲁
加入:2014-12-30 05:01
在读取GPIO引脚状态之前需要调用periph_init()?

嗨,这里的伙计们。启用扩展休眠模式时,是否必须首先调用Periph_Init(),每次想要读取GPIO引脚状态?

设备:
mt_dialog.
离线
最后一次露面:6天19小时前
职员
加入:2015-06-08 11:34
嗨夏天,

嗨夏天,

是的,唤醒后应调用periph_init以初始化外围设备。是,如果Periph_init称为您的引脚,将再次通过配置过程,以便您必须保持牢记。

谢谢mt_dialog.

SUMMER20100514.
离线
最后一次露面:4年2个月前
格鲁鲁
加入:2014-12-30 05:01
首先,在另一个帖子中

第一的在另一个帖子中,似乎当DA14580被BLE定时器唤醒时,Periph_Init已自动调用。
第二,由于对Periph_init的定期呼叫(例如,广告间隔),这是否意味着我不能总是正确读取PIN状态?如果是这种情况,我该怎么做才能读取真正的引脚状态而不是默认的一个?

mt_dialog.
离线
最后一次露面:6天19小时前
职员
加入:2015-06-08 11:34
嗨Summer20100514,

嗨Summer20100514,

当系统从BLE事件中唤醒时,当系统从外部事件(外部中断)唤醒时,系统会自动调用periph_init(),如果系统从外部事件(外部中断)唤醒,则必须从回调函数中调用periph_init()才能初始化外围设备。

因为每次(从BLE事件唤醒后),Periph_Init()称为您的引脚再次被初始化,以便读取引脚,我想你可以始终正确读取PIN状态。

谢谢mt_dialog.

SUMMER20100514.
离线
最后一次露面:4年2个月前
格鲁鲁
加入:2014-12-30 05:01
谢谢你的详细信息

感谢您的详细解释。