在GPIO上打断-DA14585

⚠️
嗨,那里..感谢您参加论坛。激动人心的消息!现在,我们正在转到我们的新论坛平台,该平台将提供更好的功能,并包含在主话网站中。所有帖子和帐户都已迁移。我们现在仅在新论坛上接受流量 - 请在https://www.dialog-spoomendonductor.com/support。我们将在未来几天修复错误 /优化搜索和标记。
3个帖子 / 0新
最后一篇文章
Wisilica
离线
最后一次露面:2年2个月前
加入:2015-03-17 08:16
在GPIO上打断-DA14585

你好,

我正在从事一个项目。默认情况下,该设备处于扩展睡眠模式。该设备需要唤醒并宣传自定义数据,以接收连接到加速度计设备的特定GPIO(端口X,引脚Y)的中断。请建议将GPIO配置为接收中断并唤醒设备所需的步骤。

谢谢

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

你好,

另外,我想问另一个查询。设备的默认状态是扩展睡眠模式。在2分钟的时间间隔内,该设备在使应用程序轻松地中断,广告数据然后入睡后醒来。我还想在上一个查询中所述的任何GPIO中断(加速度计中断)并广告数据后唤醒设备。但是,如果我调用Arch_ble_ext_wakeup_on(),则该设备仅在接收外部中断后才唤醒。但是我需要这两个事件才能唤醒设备。请建议可以做到这一点的方法。

谢谢

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

嗨,Wisilica,

SDK中有BLE_APP_SLEEPMODE示例,该示例演示了设备如何从特定端口/引脚唤醒。因此,如果我假设设备启动时不会广告,但是它将等待唤醒中断,那么您应该在.app_on_set_set_dev_config_complete或.app_opp_on_db_init_complete中设置醒来的中断(如果您使用的是在.app_opp_on_db_init_complete中)您的设备是否)。您可以检查函数,以便在user_sleepmode.c文件中的BLE_APP_SLEEPMODE项目中的唤醒中断设置在user_app_app_adv_undirect_complete()函数中。同样,不要忘记在PERIPH_INIT()函数中正确配置GPIO。

关于您的第二个查询,当设备得到外部中断时,它会醒来,检查是否有未决的事件,然后Inmidiatelly跌回睡觉(因为无事可做)。因此,一旦设备中断,并且在处理设备时(当BLE_APP_SLEEPMODE处理中断时),就应该拥有从传感器中读取的数据。由于您拥有来自传感器的数据,因此您可以将这些数据放在广告结构中并开始广告过程。您无需调用Arch_ble_ext_wakeup_on()即可通过外部中断唤醒设备,但是即使您这样做,您仍然可以使用计时器来唤醒。

谢谢mt_dialog