嗨,伙计们。当扩展睡眠模式被启用时,是否必须在每次我想读取GPIO引脚状态时首先调用外围init() ?
你好,夏天,
是的,为了初始化外围设备,应该在每次唤醒后调用外围设备init。问题是,如果外围_init被调用,你的引脚将再次经历配置过程,所以你必须记住这一点。
由于MT_dialog
第一个,在另一篇文章中,似乎当DA14580被BLE定时器唤醒时,外围init已经被自动调用。第二个,因为定期调用外围的init(例如。广告间隔),这是否意味着我不能总是正确地读取pin状态?如果是这种情况,我应该做什么来读取真正的pin状态,而不是默认的?
嗨summer20100514,
WAKEUP_handler自动调用外围init(),当系统从BLE事件中醒来时,如果系统从外部事件(外部中断)中醒来,你必须从回调函数中调用外围init()来初始化外围设备。
因为每次(从BLE事件醒来后)的外围init()被称为你的引脚再次初始化,在读取引脚的情况下,我想你总是可以正确读取你的引脚状态。
谢谢你的详细解释。
你好,夏天,
是的,为了初始化外围设备,应该在每次唤醒后调用外围设备init。问题是,如果外围_init被调用,你的引脚将再次经历配置过程,所以你必须记住这一点。
由于MT_dialog
第一个,在另一篇文章中,似乎当DA14580被BLE定时器唤醒时,外围init已经被自动调用。
第二个,因为定期调用外围的init(例如。广告间隔),这是否意味着我不能总是正确地读取pin状态?如果是这种情况,我应该做什么来读取真正的pin状态,而不是默认的?
嗨summer20100514,
WAKEUP_handler自动调用外围init(),当系统从BLE事件中醒来时,如果系统从外部事件(外部中断)中醒来,你必须从回调函数中调用外围init()来初始化外围设备。
因为每次(从BLE事件醒来后)的外围init()被称为你的引脚再次初始化,在读取引脚的情况下,我想你总是可以正确读取你的引脚状态。
由于MT_dialog
谢谢你的详细解释。