启动时休眠,GPIO中断时唤醒

10个帖子/ 0个新
最后发表
戴夫。意甲首轮
离线
最后看到:2年7个月前
加入:2015-10-08 13:21
启动时休眠,GPIO中断时唤醒

你好,支持团队,

我目前使用的Murata类型ZY模块使用DA14580 SDK 5.0.3。我正在使用SDK提供的骨架示例项目,并希望配置我的应用程序引导到扩展睡眠,直到从GPIO收到中断(没有广播)。一旦中断收到,我希望有应用程序启动,因为它通常会,广告更新的制造商提供的数据。对于如何在用户空间上下文中实现这一点,我有点困惑。任何关于从哪里开始或如何实现这一点的建议都将被赞赏。谢谢。

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

你好戴夫,

你可以在app_button_press()函数中查看智能标签参考设计,以便在休眠模式下唤醒你的设备,然后开始发布广告。在相同的参考设计中,您还可以查看函数末尾的app_adv_timer_handler,以检查如何将设备置于永久睡眠状态。它可能在不同的SDK上,但api在新的SDK上并没有那么不同。请检查文件UM-B-050和UM-B-51。

由于MT_dialog

戴夫。意甲首轮
离线
最后看到:2年7个月前
加入:2015-10-08 13:21
我一直在研究

我已经运行了一些代码,有几个问题,并希望澄清一些概念。

1)工作与SDK 5提供的骨架示例,当我编辑user_config.h: app_default_sleep_mode=ARCH_EXT_SLEEP_ON;不做广告时,芯片会进入延长睡眠模式。在主循环中,处理器等待一个中断唤醒,这是正确的吗?这个中断是从哪里来的,让它醒来并再次发布广告?

2)如果我禁用广告,处理器会一直处于睡眠状态直到我产生一个中断吗?

3)参考第45页,图26的UM-B-050,在代码流中,我应该目标给定我要做什么(延长睡眠直到按钮中断)。

谢谢

MT_dialog
离线
最后看到:2个月6天前
工作人员
加入:2015-06-08 34
你好戴夫,

你好戴夫,

1-是的,在主循环中da等待一个中断来唤醒,这些中断是预先计划好的BLE事件,请咨询文档UM-B-006了解更多关于睡眠机制的细节。

2-如果你禁用广告和da不需要做任何事情(没有BLE中断生成),它将保持在睡眠模式,最终将唤醒(默认的da醒来后的一小段时间10秒),它将睡着,如果希望避免短暂唤醒,可以发出app_ble_ext_wakeup_on,以便仅通过外部中断唤醒。

3-你可以尝试当你的数据库创建完成,而不是广告设置你的设备在永久睡眠,但首先你必须配置你的唤醒按钮和中断。

Thansk MT_dialog

戴夫。意甲首轮
离线
最后看到:2年7个月前
加入:2015-10-08 13:21
谢谢你的建议

谢谢您的建议,如果我使用原始功能的基本框架示例项目,我现在可以把设备睡眠(在数据库创建期间,如建议),然后用一个按钮唤醒它。我的目标是让函数mnf_data_update()通过i2c总线读取传感器。我以前有这个工作,它仍然工作时,不强迫睡眠。然而,当我尝试将睡眠/唤醒功能与mnf_data_update()中的i2c传感器读取结合起来时,它就停止工作了。

当应用程序启动时,我打开一个led当它进入睡眠。然后,回调函数关闭led并重新启动广告,这一切都与mnf_data_update()的原始形式一起工作。当我使用我的i2c代码(使用i2c api调用),当我按下按钮唤醒da, led保持亮,没有i2c交易发生(监控范围)和平均电流高达0.56 mA(监控智能片段)。峰值电流大约是1.022 mA,所以我不认为它试图做广告。我有没有漏掉什么可能导致这种行为的原因?谢谢。

MT_dialog
离线
最后看到:2个月6天前
工作人员
加入:2015-06-08 34
你好戴夫,

你好戴夫,

可能是i2c代码或传感器有问题。你可以看到你的设备广告与一个通用的应用程序,如果不是我认为你的设备卡在i2c交易。当你从睡梦中醒来时,你会重新配置你的i2c和外围设备吗?

由于MT_dialog

戴夫。意甲首轮
离线
最后看到:2年7个月前
加入:2015-10-08 13:21
我得核对一下

我必须检查一下,确保我重新配置了i2c和外设。我没有看到任何广告从设备时,我扫描BLE扫描仪(android应用程序)。此外,我正在使用一个作用域监视i2c行,而且事务永远不会启动。我正在设置一个GPIO引脚低与我的按钮回调函数,但led从来没有关闭,使我相信,执行从来没有使它成为那个函数。我看完代码后会向您报告。再次感谢你的帮助。

戴夫。意甲首轮
离线
最后看到:2年7个月前
加入:2015-10-08 13:21
没花多长时间……我

没花多长时间……我向按钮回调函数添加了一个对外围初始化函数的调用,现在它按预期工作。再次感谢您的帮助,不胜感激。

wuxin_1019
离线
最后看到:5年4个月前
加入:2015-11-18 15:08
嗨,支持团队,

嗨,支持团队,
请让我每次问EXT_SLEEP模式的问题。我需要从内部唤醒它。我已经读过UM-B-006,但是我对如何以及在哪里写代码有点困惑。
在SDK5代码中,哪个例子是关于它的。
请帮助我!

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

嗨wuxin_1019,

请查看你的其他帖子。

http://support.dialog-semiconductor.com/extsleep-mode-every-certain-time

由于MT_dialog

主题锁定