从一个按钮中断开始广告

4个职位/ 0个新职位
最后发表
Joacimwe
离线
最后看到:1年2个月前
大师
加入:2014-01-14 06:45
从一个按钮中断开始广告

嗨。我们正在试图修改proximity_fh项目,以便在按下一个键时开始广告。当按钮被释放时,我们想要停止广告。

在原始示例代码中,广告立即开始。我们关闭了"app_adv_start()"的自动启动,现在我们在键被按下时在键中断处理程序中运行"app_adv_start()",在键被释放时运行"app_adv_stop()"。这似乎不起作用。

然而,似乎每10秒或12秒就有一个事件或某种中断发生。使用SmartSnippets工具,我们看到当前水平在短时间内上升到~0.8mA,我们不知道那是什么,但它似乎唤醒设备从睡眠模式和重新初始化大多数东西,如led,如果我们恰好在之前按下按钮,广告就会开始(即广告在我们按下按钮后很晚才开始)。

同样的事情也会发生,如果我们从proximity_fh样本开始,只改变广告间隔超过12秒,那么广告似乎不再发生,取而代之的是0.8mA的电流增加每10或12秒发生。

首先,当设备处于长时间睡眠状态,而不是广告时,这种中断发生了什么?
第二,当我们按下按钮时,如何让广告生效?

我们已经检查了键盘的例子,但我们认为它不是我们想要的。

Joacimwe
离线
最后看到:1年2个月前
大师
加入:2014-01-14 06:45
为了澄清

所以,为了澄清这个问题,以防它不清楚:

如果我们在项目的某个地方调用app_adv_stop()函数,那么广告将停止,芯片进入睡眠模式。问题是,从这一点上,将有一个计时器事件开始每10-12秒。请让我知道这是什么,为什么会发生。

谢谢

离线
最后看到:6年8个月前
加入:2014-03-14 14:55
也许是因为你加入了

也许是因为您处于app_ble_ext_wakeup_off模式?
嗯- b - 006, p12:
将BLE核心的操作恢复到默认模式。在此模式下,BLE核心
将每10秒唤醒,即使没有BLE事件被安排。如果一个事件已经发生
计划越早,那么BLE核心就会越早醒来为它服务。

我不知道这是不是你要找的东西,但我们也注意到了同样的事情。

WT_Dialog
离线
最后看到:3年1个月前
工作人员
加入:2013-12-05 14:43
嗨,Kim, Joacimwe,

嗨,Kim, Joacimwe,
你是正确的。设置“app_ble_ext_wakeup_off”后,短时间内每10秒一次唤醒。
如果设置了“app_ble_ext_wakeup_on”,则每10秒唤醒一次就结束了。但是在调用app_ble_ext_wakeup_on之后,您将无法使用app_timer_set命令设置计时器事件,并在扩展/深度睡眠模式下通过计时器事件唤醒DA14580。