你好我正在尝试将广告名称从缓冲区中的数据更改,这个缓冲区是init在启动时的“hello”,我可以看到这个设备名称,一旦从UART更新了此缓冲区,就可以解决问题,一旦收到消息,就可以检查缓冲区上的新名称),我尝试重新启动广告并通过调用:app_easy_gap_undircated_advertise_start();
但是,设备名称根本没有更改,我继续在DSPS应用程序上看到“Hello”,我缺少什么?
问候
大家好你们好
我已经解决了这个问题,我需要停下来然后开始倾向,但重启必须托运,真的我不知道为什么,但是在1秒后它的工作原理。
嗨Joanquark,
为了改变您必须停止广告的广告数据,更改数据并再次启动广告。你是什么意思,重启必须被淘汰?如果您的意思是您需要一个计时器才能触发数据更改,那么是的核心计时器可以是触发广告数据的方式。如果您需要更改广告字符串的更多例子,请查看app_ble_barebone示例。
谢谢mt_dialog.
嗨,首先我做到了:app_easy_gap_advertise_stop();app_easy_gap_undircated_advertise_start();
但这种方式广告被困。最后它刚刚使用app_easy_timer延迟1second重新启动
app_easy_gap_advertise_stop();// app_easy_gap_undirected_advertise_start();app_add_data_update_timer_used = app_easy_timer(100,adv_data_update_timer_cb);// 100x10ms = 1000ms和
静态void adv_data_update_timer_cb(){app_adv_data_update_timer_ed = 0xffff;
app_easy_gap_undircated_advertise_start();}
您不能刚刚启动和停止广告,您正在调用的功能正在将消息推向BLE堆栈。这样做的正确方式是停止广告和获取广告的完成事件(在user_app_add_undirect_complete()处理程序中),之后在完成处理程序中,您应该启动一个新的广告命令。
好的,我试过,它的工作方式
void default_app_on_adv_undirect_complete(const uint8_t状态){int state = ke_state_get(task_app);if(state == app_connectable){app_easy_gap_undircated_advertise_start();}返回;}
大家好你们好
我已经解决了这个问题,我需要停下来然后开始倾向,但重启必须托运,真的我不知道为什么,但是在1秒后它的工作原理。
嗨Joanquark,
为了改变您必须停止广告的广告数据,更改数据并再次启动广告。你是什么意思,重启必须被淘汰?如果您的意思是您需要一个计时器才能触发数据更改,那么是的核心计时器可以是触发广告数据的方式。如果您需要更改广告字符串的更多例子,请查看app_ble_barebone示例。
谢谢mt_dialog.
嗨,首先我做到了:
app_easy_gap_advertise_stop();
app_easy_gap_undircated_advertise_start();
但这种方式广告被困。
最后它刚刚使用app_easy_timer延迟1second重新启动
app_easy_gap_advertise_stop();
// app_easy_gap_undirected_advertise_start();
app_add_data_update_timer_used = app_easy_timer(100,adv_data_update_timer_cb);// 100x10ms = 1000ms
和
静态void adv_data_update_timer_cb()
{
app_adv_data_update_timer_ed = 0xffff;
app_easy_gap_undircated_advertise_start();
}
问候
嗨Joanquark,
您不能刚刚启动和停止广告,您正在调用的功能正在将消息推向BLE堆栈。这样做的正确方式是停止广告和获取广告的完成事件(在user_app_add_undirect_complete()处理程序中),之后在完成处理程序中,您应该启动一个新的广告命令。
谢谢mt_dialog.
好的,我试过,它的工作方式
void default_app_on_adv_undirect_complete(const uint8_t状态)
{
int state = ke_state_get(task_app);
if(state == app_connectable){
app_easy_gap_undircated_advertise_start();
}
返回;
}