蓝牙连接参数说明

news/2025/2/12 17:08:40/

一、简介

本文主要讲解蓝牙连接参数说明。

 

二、实验平台

 

协议栈版本:BLE-CC254x-1.4.0

编译软件:IAR 8.20.2

硬件平台:Smart RF(主芯片CC2541)

 

 

、版权声明

博主:si_zhou_qun_84342712

声明:喝水不忘挖井人,转载请注明出处。

原文地址:http://write.blog.csdn.NET/postedit

联系方式:495527583@qq.com

开源四轴群:84342712

开源四轴(淘宝店):

 

四、关于蓝牙连接参数

 

// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     40

// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     800

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY         0

// Supervision timeout value (units of 10ms, 1000=10s) if automatic parameter update request is enabled
#define DEFAULT_DESIRED_CONN_TIMEOUT          1000

// Whether to enable automatic parameter update request when a connection is formed
#define DEFAULT_ENABLE_UPDATE_REQUEST         TRUE


 

1.

DEFAULT_DESIRED_MIN_CONN_INTERVAL(最小连接间隔)和#define DEFAULT_DESIRED_MAX_CONN_INTERVAL(最大连接间隔)

这个间隔 是指成功连接后 的周期性通讯时间,主机会根据使用情况 在 这个取值范围内 选择合适的 间隔时间,这个具体值是不可控的,所以需要划定一个范围使得通讯响应在自己的可控范围之内。这个具体值会影响到下一次通讯数据包的响应时间,需要根据自己的情况来调整这个范围达到 既省电又匹配程序响应速度 的目的。

比如:
大数据传递时:通讯数据包是连续传递的,主机会选择min值来进行通讯。
 无数据传递时:通讯是空闲状态,主机会选择max值来定期询问从机状态,以保持连接不中断。(在空闲时,由于使用max的值作为通讯周期,会影响到程序的下一个命令的发送时间)

2

DEFAULT_DESIRED_SLAVE_LATENCY: (从机所存)

Slaver设备没有数据要发时,跳过一定数目的ConnectionEvent的值,Rang:0-499.  

跳过的interval个数,设置为0则每次interval都连接。数字约小通信速度越快,但是功耗越高

注意:这个参数更重要的应用 :比如在距离远或者干扰大的时候 无数据通信的时候。把这个值设大可以减少掉线概率。

比如防丢器:放在口袋里面假如这个参数设置为0 表示规定时间内必须响应从机,不然就以为是蓝牙断开了。假如设置为5。假如信号不好的时候,即使中间丢了4个,只接受了1个就表示连接了。因为他会跳过其中4个 ,保证了不掉线的概率

3.

DEFAULT_DESIRED_CONN_TIMEOUT:(连接超时)

超时时间,就是两个设备在连接的这段时间没有发生通讯而导致连接自动断开的值。Range(10ms-----32s)

连接超时时间,用在信号不太好的情况下, 给对方一点时间。超过这个时间通信就建立失败

 

 

IOS对连接参数要求

另外附上苹果对connection interval的要求, 其实还有其他的连接参数要求, 比如slave latency, supervision timeout, 如果不满足这些, iOS设备会拒绝.

    ● Interval Max * (Slave Latency + 1) ≤ 2 seconds
    ● Interval Min ≥ 20 ms
    ● Interval Min + 20 ms ≤ Interval Max Slave Latency ≤ 4  //这个是这样么???
    ● connSupervisionTimeout ≤ 6 seconds
    ● Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout

 

DEFAULT_ENABLE_UPDATE_REQUEST:

从机可以向主机发送连接参数更新请求,来请求主机的连接参数 更新到与从机一致。方法是:(参考simpleBLEperipheral.c)

// Whether to enable automatic parameter update request when a connection is formed
#define DEFAULT_ENABLE_UPDATE_REQUEST         TRUE

 uint8 enable_update_request = DEFAULT_ENABLE_UPDATE_REQUEST;

GAPRole_SetParameter( GAPROLE_PARAM_UPDATE_ENABLE, sizeof( uint8 ), &enable_update_request );

更改这3句代码,来使能或禁止,从机向主机发送连接参数更新请求,只要发送之后 主机就允许 然后连接参数就会变成你 从机端设定的参数 了

假如设置为FALSE 则表示连接参数由主机设置 更从机设置的参数没有关系(可否这样理解)?


http://www.ppmy.cn/news/327921.html

相关文章

IphoneX怎么投影电脑 苹果X投屏教程

随着科技的不断发展&#xff0c;如今我们都有智能手机和电脑&#xff0c;那么如何把手机屏幕投屏到电脑上呢&#xff1f;其实很简单&#xff0c;下面便来分享给大家&#xff0c;教大家IphoneX怎么投影电脑的具体方法。使用工具&#xff1a;手机、电脑操作方法&#xff1a;1、今…

oppo手机解锁_OPPO手机密码忘了怎么解锁

方法1&#xff1a; 1.打开“桌面”选项&#xff0c;点击“云服务”&#xff0c;再点击“找回手机”。这里要记得把开关打开。 2.然后大家登陆我们手机的云服务&#xff0c;点击手机上的云服务&#xff0c;找到“找回手机”&#xff0c;然后找到“设备”这一项&#xff0c;然后选…

【APP测试】删除锁屏密码文件

删除手机锁屏密码或手势密码 模拟器做的测试&#xff0c;需要有root权限 拿oppo A33手机做过实验&#xff0c;要开启很多&#xff0c;比如开发者模式、同意usb调试等&#xff0c;无奈手机没有root&#xff0c;遂放弃&#xff0c;等有空再试。 adb连接到模拟器&#xff0c;ad…

如何用计算机解开op手机密码,oppo清除锁屏密码【操作技巧】

喜欢使用电脑的小伙伴们一般都会遇到win7系统oppo清除锁屏密码的问题&#xff0c;突然遇到win7系统oppo清除锁屏密码的问题就不知道该怎么办了&#xff0c;其实win7系统oppo清除锁屏密码的解决方法非常简单&#xff0c;按照1&#xff1a;第一&#xff1a;有一些手机助手软件或者…

oppo清除root,OPPO清除实名验证未完成

OPPO的root怎么解除 工具/原料&#xff1a;Oppo R7t手机、KingRoot软件。 方法/步骤&#xff1a; 1、首先&#xff0c;在KingRoot软件的通用设置中点击卸载KingRoot的图标&#xff0c;再在弹出的提示小窗口中点击右下方的继续。 2、然后&#xff0c;在卸载KingRoot的提示小窗口…

手机开机密码忘记了怎么办?

今天姥姥忘记了她那手机的开机密码&#xff0c;把她那手机拿过来&#xff0c;说让我给弄好。因为我家在农村&#xff0c;家里人很多科技产品都不太熟悉&#xff0c;微信也就会简单使用一些操作。家里人对我学的专业也不是很了解&#xff0c;他们以为计算机专业&#xff0c;学的…

OPPO A59st怎么刷机 OPPO A59st的刷机教程 OPPO A59st完美解除账号锁

如果你刷了别人的资料后手机出现定屏或者无限重启&#xff0c;或者黑屏不开机 可以尝试本帖的资料&#xff0c;因为本资料来源于售后&#xff0c;可以修复一切软件故障 一、线刷包介绍 此包为官方优化线刷包&#xff0c;《内含详细操作教程&#xff0c;新手也能玩转刷机解锁&a…

【Go知识点】Gorm Hook 无侵入实现 数据表防篡改

一、前言 Hi&#xff0c;开门见山的说&#xff0c;这次给大家带来的是关于 Gorm Hook 机制的落地场景&#xff0c;笔者也是在Gorm官方文档中了解到有Hook机制的存在&#xff0c;不过一直没有找到过太多合适的场景来使用。 最近刚好在做一块新业务的设计&#xff0c;因为涉及到…