嗨,伙计们。当启用扩展睡眠模式时,每次我想读取GPIO pin状态时,是否必须首先调用periph\u init()?
嗨,summer,
是的,每次唤醒后都应该调用periphu init来初始化外围设备。问题是,如果调用periph\u init,您的管脚将再次经历配置过程,因此您必须记住这一点。
谢谢你的对话
弗斯特,在另一篇文章中,似乎当DA14580被BLE计时器唤醒时,periph\u init已经被自动调用了。第二,因为定期调用periph_init(例如广告间隔),是否意味着我不能始终正确读取pin状态?如果是这样的话,我应该怎么做来读取真正的pin状态而不是默认的?
你好,20100514,
当系统从BLE事件中唤醒时,唤醒处理程序会自动调用periph_init(),如果系统从外部事件(外部中断)中唤醒,则必须从回调函数中调用periph_init(),以初始化外围设备。
因为每次(从BLE事件中唤醒后)调用periph\u init()时,您的管脚都会再次初始化,在读取管脚的情况下,我想您始终可以正确读取管脚状态。
谢谢你的详细解释。
嗨,summer,
是的,每次唤醒后都应该调用periphu init来初始化外围设备。问题是,如果调用periph\u init,您的管脚将再次经历配置过程,因此您必须记住这一点。
谢谢你的对话
弗斯特,在另一篇文章中,似乎当DA14580被BLE计时器唤醒时,periph\u init已经被自动调用了。
第二,因为定期调用periph_init(例如广告间隔),是否意味着我不能始终正确读取pin状态?如果是这样的话,我应该怎么做来读取真正的pin状态而不是默认的?
你好,20100514,
当系统从BLE事件中唤醒时,唤醒处理程序会自动调用periph_init(),如果系统从外部事件(外部中断)中唤醒,则必须从回调函数中调用periph_init(),以初始化外围设备。
因为每次(从BLE事件中唤醒后)调用periph\u init()时,您的管脚都会再次初始化,在读取管脚的情况下,我想您始终可以正确读取管脚状态。
谢谢你的对话
谢谢你的详细解释。