你好,
我们使用DA14580作为外设模式。
我们需要实现一个用例,其中附件首先以20毫秒的间隔发布10秒的广告,然后以1.25秒的间隔重启(停止和启动)广告。
对于ble_app_peripheral的当前实现,我看到间隔是通过intv_min和intv_max参数在user_config.h中给出的,作为静态const结构的一部分,并且使用user_app_adv_start开始发布。这是否意味着我不能改变这些值(intv_min和intv_max)在任何其他时间?
如果不是,那么上面的用例实现的正确方式是什么?
谢谢,
Hrishikesh
设备:
你好,
在第一个广告循环中,间隔是由标准值给出的,你可以把它们改变成你想要的值。当广告停止和重新开始后,您可以使用回调的广告你想使用(undirected-non接入等),在这个函数给你想要的值区间通过app_easy_gap_undirected_advertise_get_active返回的指针。在我们的例子user_app_adv_undirect_complete中,代码如下:
空白user_app_adv_undirect_complete (uint8_t状态)
{
//如果广告被取消,则更新广告数据并重新开始广告
if (status == GAP_ERR_CANCELED) / /取消取消
{
//安排下一次广告数据更新
struct gapm_start_advertise_cmd * cmd;
cmd = app_easy_gap_undirected_advertise_get_active ();
Cmd ->intv_min = 2000;
cmd - > intv_max = 2000;
app_easy_gap_undirected_advertise_start ();
}
}
谢谢,
STS_Dialog。