嗨我试图从缓冲区中的数据中改变广告名称,这个缓冲区在启动时是init hello,我可以看到这个设备名称,一旦启动了这个缓冲区从uart更新,这工作正常,一旦收到消息(所以我可以检查新的名称是存在缓冲区),我尝试重新启动广告,通过调用:app_easy_gap_undirected_advertise_start ();
但是设备名称根本没有改变,我继续在DSPS app上看到“你好”,我错过了什么?
问候
大家好
我已经解决了这个问题,我需要停止然后开始广告,但重启必须计时,真的我不知道为什么,但1秒后它工作。
嗨joanquark,
为了改变广告数据,你必须停止广告,改变数据并再次开始广告。你说重启必须计时是什么意思?如果您的意思是需要一个计时器来触发数据更改,那么是的,内核计时器可以是触发广告数据的一种方式。如果您需要更多关于如何更改广告字符串的示例,请查看app_ble_barebone示例。
由于MT_dialog
嗨,首先我做了:app_easy_gap_advertise_stop ();app_easy_gap_undirected_advertise_start ();
但是这样的广告就卡住了。最后,它只是通过app_easy_timer延迟1秒重启
app_easy_gap_advertise_stop ();/ / app_easy_gap_undirected_advertise_start ();app_easy_timer(100, adv_data_update_timer_cb);// 100x10ms = 1000ms和
静态孔隙adv_data_update_timer_cb (){app_adv_data_update_timer_used = 0 xffff;
app_easy_gap_undirected_advertise_start ();}
您不能只是启动和停止广告,您正在调用的函数正在将消息推入BLE堆栈。正确的方法是停止发布并获取发布的完成事件(在user_app_adv_undirect_complete()处理程序中),之后在完成处理程序中,您应该启动一个新的发布命令。
好吧,我试过了
无效default_app_on_adv_undirect_complete(const uint8_t status){int状态= ke_state_get (TASK_APP);if (state == APP_CONNECTABLE){app_easy_gap_undirected_advertise_start ();}返回;}
大家好
我已经解决了这个问题,我需要停止然后开始广告,但重启必须计时,真的我不知道为什么,但1秒后它工作。
嗨joanquark,
为了改变广告数据,你必须停止广告,改变数据并再次开始广告。你说重启必须计时是什么意思?如果您的意思是需要一个计时器来触发数据更改,那么是的,内核计时器可以是触发广告数据的一种方式。如果您需要更多关于如何更改广告字符串的示例,请查看app_ble_barebone示例。
由于MT_dialog
嗨,首先我做了:
app_easy_gap_advertise_stop ();
app_easy_gap_undirected_advertise_start ();
但是这样的广告就卡住了。
最后,它只是通过app_easy_timer延迟1秒重启
app_easy_gap_advertise_stop ();
/ / app_easy_gap_undirected_advertise_start ();
app_easy_timer(100, adv_data_update_timer_cb);// 100x10ms = 1000ms
和
静态孔隙adv_data_update_timer_cb ()
{
app_adv_data_update_timer_used = 0 xffff;
app_easy_gap_undirected_advertise_start ();
}
问候
嗨joanquark,
您不能只是启动和停止广告,您正在调用的函数正在将消息推入BLE堆栈。正确的方法是停止发布并获取发布的完成事件(在user_app_adv_undirect_complete()处理程序中),之后在完成处理程序中,您应该启动一个新的发布命令。
由于MT_dialog
好吧,我试过了
无效default_app_on_adv_undirect_complete(const uint8_t status)
{
int状态= ke_state_get (TASK_APP);
if (state == APP_CONNECTABLE){
app_easy_gap_undirected_advertise_start ();
}
返回;
}