嗨对话小组,
我将广告数据改为朝内,它适用,但有些感觉非常敏感并导致稳定性问题。
我通过Usting Globle变量更改了倾向的数据,该变量由带有1SEC时段的计时器更新,然后是App_Adv_Stop(),然后是app_adv_start。如果app_adv_stop()直接后跟app_adv_start(),它不起作用,没有广告。如果我介于两者之间,它也不起。只有当我在介于I ++等诸如i ++时,才能运行良好。
当我经常改变状态时测试其稳定性,有时广告停止或无法连接。我使用sample_128。
向前闻到听你的答案和帮助。
谢谢!
亚历克斯
你好亚历克斯,
也许问题是仍然存在
gapm_cancel_cmd.
待留言待定app_adv_stop.
。也许一个“正确的方式”是使用GAP事件处理程序。打开app_task_handlers.h.寻找听众gapm_cmp_evt.
。如果尚未添加,则添加应默认添加。找到功能gapm_cmp_evt_handler.
在app_task.c.。找到,例如,案例Gapm_adv_undirect.
。希望这有帮助!嗨,亚历克斯,
Plaease看看灯塔的用户手册,解释了如何做到:
http://support.dialog-semicondiondiondum/system/files/um-b-019_da14580_be ...
我建议你看看灯架SW:
http://support.dialog-semicondiondiondum/da14580-reference-design-beacon.
以下是答案:
如何动态改变广告数据?
1.在da14580_config.h标题文件中定义cfg_dynamic_beacon_data。
可以使用在广告模式下的App_Asynch_trm()函数中计数到BLE事件结束的转换的过程。此过程检查BLE事件状态是否移动到BLE_EVENT_END以计算广告事件,而当前数据被广播。
通过调用函数app_last_rwble_evt_get()获得BLE状态。达到最大广告迭代次数时,将自动动态地改变广告数据。
2.信标参考软件中的广告迭代的数量由App_sleep.h标题文件中的定义Max_Beacon_Advertise_counter的值确定。
一旦发生超时,必须执行GAPM_CANCEL操作。这可以通过调用app_adv_stop()函数来完成。
完成GAPM_CANCEL操作后,为广告间隔开始计时器。
然后可以通过调用计时器处理程序中的app_adv_start()函数来重新启动广告。
问候,
dialog_team。