如何动态修改连接间隔

学到更多常见问题解答教程

4个帖子/ 0新
最后一篇
Alex.Jian.
离线
最后一次露面:2个月3周前
加入:2019-08-28 10:14
如何动态修改连接间隔

大家好

我需要一些建议修改连接间隔

当设备从主机获取数据时,我想要修改连接间隔

所以我该怎么做??

设备:
PM_DIALOG.
离线
最后一次露面:3小时9分钟前
职员
加入:2018-02-08 11:03
嗨Alex.Jian,

嗨Alex.Jian,

您可以使用连接更新参数。让我迅速描述你的程序是如何进行的:

作为广告的外围设备假设从设备的作用,而正在搜索用于连接到设备的扫描仪设备,则在连接过程上假设主设备的作用。后者,负责执行各种强制性的操作,包括要传输的频道以及要使用的事件间隔。但是,在成功的连接之后,从设备可以通过更新连接参数请求提出其自己的优选参数(连接间隔,监控超时等)。之后,如果已获批准,主人会响应奴隶。为此,外围设备发送连接参数更新请求,协商过程将发生在空中,如果已批准,则会发生连接参数更新的事件。有关更新连接参数,请参阅蓝牙LE规范。

user_gapm_conf结构保持用户的配置,并且在连接时设备将具有来自此结构的连接间隔。user_connection_param_conf保留连接参数更新配置。连接间隔由中央定义,因此您可以做的是发出连接更新请求,中央将决定它是否会接受您所要求的连接参数。If the current parameters don’t match will send a request to the central in order to update the connection parameters (the request is sent 10 seconds after the connection is established), so if the central accepts the parameters the connection will change to the specified values in the user_connection_param_conf structure. Please also check param_update_request_timer_cb() callback in our SDK examples.

谢谢,PM_DIALOG.

Alex.Jian.
离线
最后一次露面:2个月3周前
加入:2019-08-28 10:14
嗨对话框

嗨对话框

我在DSP示例上编写了我的项目基础

所以我按照下面的函数

void app_easy_gap_param_update_conninterval(float min,float max,uint16_t延迟,浮动超时)
{

struct gapc_param_update_cmd * cmd;
if(param_update_cmd [conn_idx] == null)
{

cmd = app_param_update_msg_create(conn_idx);
assert_warning(conn_idx param_update_cmd [conn_idx] = cmd;

cmd-> intv_max = ms_to_doubleslots(min);
cmd-> intv_min = ms_to_doubleslots(max);
cmd-> latency =延迟;
cmd-> time_out = ms_to_timerUnits(超时);
cmd-> ce_len_min = user_connection_param_conf.ce_len_min;
cmd-> ce_len_max = user_connection_param_conf.ce_len_max;
}

app_param_update_msg_send(cmd);
param_update_cmd [conn_idx] = null;

}

设备获取数据时我使用此功能

是这样的吗?

PM_DIALOG.
离线
最后一次露面:3小时9分钟前
职员
加入:2018-02-08 11:03
嗨Alex.Jian.

嗨Alex.Jian.

我们为论坛采取了这一脱机,有人已经直接在您的注册电子邮件地址方面向您达成。如前所述,连接间隔由Central决定。对于您的情况,中央是iOS。因此,对于间隔更新,我们建议他们在应用程序中使用app_easy_gap_param_update_start()API。

谢谢,PM_DIALOG.