广告数据停止更新

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

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

static void mnf_tim_cb(OS_TIMER timer)

// hw_gpio_toggle(HW_GPIO_PORT_1, HW_GPIO_PIN_5);//devkit使用0_7作为设备

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,它永远不会更新数据;但是,如果没有这些命令,它会完美地更新,直到睡眠周期开始。
会是什么问题呢?

温暖的问候

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

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

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

你好,穆

尝试在您设置的计时器中停止广告,然后在该处理程序中捕获主任务BLE_EVT_GAP_ADV_COMPLETED中的广告完成消息,更改广告字符串,然后开始广告。

由于MT_dialog

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

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

请帮助。

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

你好,穆

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

由于MT_dialog

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

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

谢谢你的帮助。感谢。