在GPIO - DA14585上得到中断

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
3个帖子/ 0个新
最后发表
wisilica
离线
最后看到:11个月2周之前
加入:2015-03-17 08:16
在GPIO - DA14585上得到中断

你好,

我在做一个项目。设备默认处于延长睡眠模式。当接收到连接到加速计设备的特定GPIO (PORT X, PIN Y)上的中断时,设备需要唤醒并发布定制数据。请建议需要配置GPIO接收中断和唤醒设备的步骤。

谢谢

设备:
wisilica
离线
最后看到:11个月2周之前
加入:2015-03-17 08:16
你好,

你好,

另外,我想问另一个问题。设备的默认状态是扩展睡眠模式。每隔2分钟,设备在应用程序容易定时器中断后醒来,发布数据,然后进入睡眠。我还想在上一个查询中所述的任何GPIO上的中断(加速计中断)后唤醒设备,并发布数据。但是如果我正在调用arch_ble_ext_wakeup_on(),设备将只有在接收到外部中断之后才会唤醒。但我需要这两个事件来唤醒设备。请建议做这件事的方法。

谢谢

MT_dialog
离线
最后看到:3个月1周前
工作人员
加入:2015-06-08 34
嗨wisilica,

嗨wisilica,

SDK中有一个ble_app_sleepmode示例,它演示了设备如何从特定的端口/引脚唤醒。如果我认为设备在启动不会广告但它将等待中断醒来,那么您应该设置在.app_on_set_dev_config_complete或中断醒来.app_on_db_init_complete(取决于你是否在你的设备使用一个数据库)。您可以检查这些函数,以便在user_app_adv_undirect_complete()函数中的user_sleepmode.c文件中的ble_app_sleepmode项目中设置唤醒中断。另外,不要忘记在peri_init()函数中正确配置gpio。

关于你的第二个查询,当设备得到一个外部中断,它醒来,检查是否有任何未决事件,然后它立即回到睡眠(因为没有什么可做)。因此,一旦设备获得中断,一旦它被处理(正如ble_app_sleepmode处理中断),那么你应该有你从传感器读取的数据。由于您有来自传感器的数据,您可以将这些数据放在广告结构中并启动广告过程。你不需要调用arch_ble_ext_wakeup_on()来通过外部中断唤醒设备,但即使你这样做了,你仍然可以使用定时器来唤醒。

由于MT_dialog