DSP广告名称更改

6个帖子/ 0新
最后一篇
Joanquark.
离线
最后一次露面:4年12个月前
加入:2015-06-01 08:59.
DSP广告名称更改

你好
我正在尝试将广告名称从缓冲区中的数据更改,这个缓冲区是init在启动时的“hello”,我可以看到这个设备名称,
一旦从UART更新了此缓冲区,就可以解决问题,一旦收到消息,就可以检查缓冲区上的新名称),我尝试重新启动广告并通过调用:
app_easy_gap_undircated_advertise_start();

但是,设备名称根本没有更改,我继续在DSPS应用程序上看到“Hello”,我缺少什么?

问候

设备:
Joanquark.
离线
最后一次露面:4年12个月前
加入:2015-06-01 08:59.
大家好你们好

大家好你们好

我已经解决了这个问题,我需要停下来然后开始倾向,但重启必须托运,真的我不知道为什么,但是在1秒后它的工作原理。

mt_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2015-06-08 11:34
嗨Joanquark,

嗨Joanquark,

为了改变您必须停止广告的广告数据,更改数据并再次启动广告。你是什​​么意思,重启必须被淘汰?如果您的意思是您需要一个计时器才能触发数据更改,那么是的核心计时器可以是触发广告数据的方式。如果您需要更改广告字符串的更多例子,请查看app_ble_barebone示例。

谢谢mt_dialog.

Joanquark.
离线
最后一次露面:4年12个月前
加入:2015-06-01 08:59.
嗨,首先我做到了:

嗨,首先我做到了:
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();
}

问候

mt_dialog.
离线
最后一次露面:3个月2周前
职员
加入:2015-06-08 11:34
嗨Joanquark,

嗨Joanquark,

您不能刚刚启动和停止广告,您正在调用的功能正在将消息推向BLE堆栈。这样做的正确方式是停止广告和获取广告的完成事件(在user_app_add_undirect_complete()处理程序中),之后在完成处理程序中,您应该启动一个新的广告命令。

谢谢mt_dialog.

Joanquark.
离线
最后一次露面:4年12个月前
加入:2015-06-01 08:59.
好的,我尝试过,它有效

好的,我试过,它的工作方式

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();
}
返回;
}

主题锁定