广告数据停止更新

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
6个员额/ 0个新员额
最后发表
匿名(未验证)
广告数据停止更新

我已经在广告数据中设置了一个制造商特定的数据字符串。我使用OS_timer反复调用函数更新广告数据。使用以下代码:

static void mnf_tim_cb(OS_TIMER定时器执行操作)

//devkit use 0_7 for device . hw_gpio_toggle(HW_GPIO_PORT_1, HW_GPIO_PIN_5)

mnf_flag_1 + +;
ble_gap_adv_stop ();

如果(mnf_flag_1 = = 0 xff)
mnf_flag_1 = 0 x04;

adv_data [10] = mnf_flag_1;
Ble_gap_adv_data_set (sizeof(adv_data), adv_data, name_len + 2, scan_rsp);

ble_gap_adv_start (GAP_CONN_MODE_UNDIRECTED);

这个问题在延长的睡眠周期开始之前就会更新。一旦睡眠周期开始,它就会停止更新广告数据。我已经确认定时器回调函数正在执行,因为我拨动LED看到它。
我尝试了停止和开始广告和没有它也。
使用stop和start,它永远不会更新数据;然而,如果没有这些命令,它就会完美地更新,直到睡眠周期开始。
有什么问题吗?

温暖的问候

设备:
穆(未验证)
这也是使用prox

这也是使用代理报告作为基地

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

你好,穆

尝试在你设置的定时器中停止广告,然后在你的主要任务BLE_EVT_GAP_ADV_COMPLETED中捕捉广告完成消息,在那个处理程序中,改变广告字符串,然后开始广告。

由于MT_dialog

穆(未验证)
我试过这个,但是

我试过了,但没用。一旦睡眠周期开始,它就停止更新。在调试模式下禁用睡眠,它会不断更新。
在ble_prepherial项目中尝试了同样的事情,并且工作正常。

请帮助。

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

你好,穆

遵循我所描述的过程,并确保您放置在广告字符串中的数据属于内存的retain部分,具有您正在使用的adv_data作为INITIALISED_PRIVILEGED_DATA变量。

由于MT_dialog

穆(未验证)
谢谢!使用它作为

谢谢!使用它作为INITIALISED_PRIVILEGED_DATA修复了这个问题。

谢谢你的帮助。感谢。