需要在读取GPIO引脚状态之前调用外围init()吗?

5个职位/ 0个新
最后发表
summer20100514
离线
最后看到:4年6个月前
大师
加入:2014-12-30 05:01
需要在读取GPIO引脚状态之前调用外围init()吗?

嗨,伙计们。当扩展睡眠模式被启用时,是否必须在每次我想读取GPIO引脚状态时首先调用外围init() ?

设备:
MT_dialog
离线
最后看到:4个月2天前
工作人员
加入:2015-06-08 34
你好,夏天,

你好,夏天,

是的,为了初始化外围设备,应该在每次唤醒后调用外围设备init。问题是,如果外围_init被调用,你的引脚将再次经历配置过程,所以你必须记住这一点。

由于MT_dialog

summer20100514
离线
最后看到:4年6个月前
大师
加入:2014-12-30 05:01
首先,在另一个帖子

第一个,在另一篇文章中,似乎当DA14580被BLE定时器唤醒时,外围init已经被自动调用。
第二个,因为定期调用外围的init(例如。广告间隔),这是否意味着我不能总是正确地读取pin状态?如果是这种情况,我应该做什么来读取真正的pin状态,而不是默认的?

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

嗨summer20100514,

WAKEUP_handler自动调用外围init(),当系统从BLE事件中醒来时,如果系统从外部事件(外部中断)中醒来,你必须从回调函数中调用外围init()来初始化外围设备。

因为每次(从BLE事件醒来后)的外围init()被称为你的引脚再次初始化,在读取引脚的情况下,我想你总是可以正确读取你的引脚状态。

由于MT_dialog

summer20100514
离线
最后看到:4年6个月前
大师
加入:2014-12-30 05:01
谢谢你的详细介绍

谢谢你的详细解释。