⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
alex.jian
离线
最后看到:2个月5天前
加入:2019-08-28 14
如何动态修改“连接间隔”
嗨,所有
我需要一些建议来修改连接间隔
当设备从主机获取数据时,我想修改连接间隔
那我该怎么办??
嗨alex.jian,
您可以使用连接更新参数。让我快速地向你描述一下手术的过程:
正在发布的外围设备充当从设备的角色,而正在搜索要连接到的设备的扫描设备在连接过程中充当主设备的角色。后者负责执行各种强制操作,包括传输哪个通道和使用哪个事件间隔。然而,在成功连接后,从设备可以通过更新连接参数请求提出自己的首选参数(连接间隔,监控超时等)。之后,如果奴隶的要求得到批准,主人就会对奴隶做出回应。为此,外围设备发送连接参数更新请求,协商过程将通过空中进行,如果推荐通过,将发生连接参数更新事件。有关更新连接参数的更多信息,请参阅蓝牙LE规范。
user_gapm_conf结构保持用户的配置,连接时的设备将从这个结构获得连接间隔。user_connection_param_conf保持连接参数更新配置。连接间隔是由中心定义的,所以您可以做的是发出一个连接更新请求,然后中心将决定是否接受您所请求的连接参数。如果当前参数不匹配将会发送一个请求到中央为了更新连接参数(请求发送建立连接后10秒),所以如果中央接受参数值指定的连接将改变user_connection_param_conf结构。也请检查param_update_request_timer_cb()回调在我们的SDK示例。
谢谢,PM_Dialog
嗨对话框
我以dsp为例编写了我的项目
所以我的程序功能如下
void app_easy_gap_param_update_ConnInterval(浮动最小值,浮动最大值,uint16_t延迟,浮动超时)
{
struct gapc_param_update_cmd * cmd;
param_update_cmd[conn_idx] == NULL
{
cmd = app_param_update_msg_create (conn_idx);
ASSERT_WARNING (conn_idx < APP_EASY_GAP_MAX_CONNECTION);
param_update_cmd [conn_idx] = cmd;
cmd - > intv_max = MS_TO_DOUBLESLOTS(分钟);
cmd - > intv_min = MS_TO_DOUBLESLOTS (max);
cmd - >延迟=延迟;
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] =零;
}
当设备获取数据时,我使用这个功能
这条路对吗?
嗨alex.jian
我们已经为论坛将此离线,并且有人已经在您的注册电子邮件地址直接联系了您。如前所述,连接间隔由Central决定。对于你来说,中央是iOS。因此,对于间隔更新,我们建议他们在应用程序中使用app_easy_gap_param_update_start() API。
谢谢,PM_Dialog