变化广告数据的稳定性

3个员额/0个新员额
最后一篇文章
罗念文
离线
最后一次见到:1年8个月前
专家
加入:2014-02-28 19:16
变化广告数据的稳定性

嗨,对话小组,

我动态地更改了广告数据,它仍然有效,但有些非常敏感的东西有时会导致稳定性问题。

我通过使用globle变量更改了避免数据,该变量由一个1秒周期的计时器更新,然后是app_adv_stop(),然后是app_adv_start。如果app_adv_stop()直接跟在app_adv_start()后面,则它不起作用,不会发布广告。如果我把一些东西放在中间,它也不起作用。只有在中间插入I++之类的东西时,它才能正常工作。

当我频繁改变状态来测试它的稳定性时,有时广告会停止或无法连接。我使用了样本128。

期待听到你的回答和帮助。

谢谢
亚历克斯

维桑
离线
最后一次见到:5年11个月前
大师 主人
加入:2014-06-26 08:49
你好,亚历克斯,

你好,亚历克斯,

也许问题在于,仍然存在一些问题GAPM\u取消\u命令由发送的消息挂起app_adv_stop. 也许一种“正确的方法”是使用间隙事件处理程序。打开app_task_handlers.h并搜索侦听器以查找GAPM_CMP_EVT. 如果尚未添加,则添加,但默认情况下应添加。查找函数gapm\U cmp\U evt\U处理器在里面app_task.c. 发现,例如。,案件GAPM_ADV_undirective. 希望这有帮助!

总账对话框(未验证)
嗨,亚历克斯,

嗨,亚历克斯,

请看一下灯塔用户手册,其中说明了如何操作:

http://support.dialog-semiconductor.com/system/files/UM-B-019_DA14580_Be...

我建议您也看看beacon SW:

http://support.dialog-semiconductor.com/da14580-reference-design-beacon

以下是答案:

如何动态更改广告数据?

1.在da14580_config.h头文件中定义CFG_动态_信标_数据。

可以使用在广告模式下,在app_asynch_trm()函数中计算到BLE事件结束的转换的过程。当广播当前数据时,此过程检查BLE事件状态何时移到BLE_event_END以统计广告事件。

通过调用函数app_last_rwble_evt_get()获得BLE状态。当达到最大广告迭代次数时,广告数据将自动动态更改。

2.信标参考软件中的广告迭代次数由app_sleep.h头文件中definition MAX_Beacon_advertive_计数器的值确定。

发生超时后,必须执行GAPM_取消操作。这可以通过调用app_adv_stop()函数来完成。

GAPM_CANCEL操作完成后,将启动广告间隔计时器。

然后,可以通过调用计时器处理程序中的app_adv_start()函数重新启动广告。

当做

对话小组。