蓝牙----蓝牙GAP层

蓝牙协议栈----GAP

  • GAP的角色
  • 连接过程
  • 连接参数


GAP:通用访问配置协议层

  • gap的角色
  • 发现的模式与过程
  • 连接模式与过程
  • 安全模式与过程

CC2640R2F的GAP层抽象
在这里插入图片描述

GAP的角色

  • Broadcaster 广播电台 -不可连接的广播者。
  • Observer 观察者 -扫描广播者但无法启动连接。
  • Peripheral 外设 - 可连接的广播者,并在单个链路层连接中作为从属设备。
  • Central 主机 - 设备扫描广播者并启动连接,并在单个或多个链路层连接中作为主服务器运行。蓝牙低功耗协议栈支持多达三个并发连接。
   // 设置GAP GATT服务中的设备名称特征GGS_SetParameter(GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, attDeviceName);// Configure GAP{//使能连接参数更新uint16_t paramUpdateDecision = DEFAULT_PARAM_UPDATE_REQ_DECISION;// Pass all parameter update requests to the app for it to decideGAP_SetParamValue(GAP_PARAM_LINK_UPDATE_DECISION, paramUpdateDecision);}// 初始化GAP设备,做为Peripheral,地址采用Public方式GAP_DeviceInit(GAP_PROFILE_PERIPHERAL, selfEntity, addrMode, NULL);

连接过程

连接过程
在这里插入图片描述

广播报文:由广播者发送至扫描者
在这里插入图片描述

扫描请求报文:由扫描者发送至广播者
在这里插入图片描述

扫描响应报文:由广播者发送至扫描者
在这里插入图片描述

连接报文:由发起者发送至广播者
在这里插入图片描述

连接参数

Connection Interval 连接间隔:在BLE跳频数据传输时,在一个特定的时间之后,会跳到一个新的通道上,LL层负责接入地址的维护。这个发现设备并收到数据的事件,就被称为连接事件,连接事件间的间隔为连接间隔。
以 1.25 ms 为单位,从最小值 6(7.5 ms)到最大值 3200(4.0 s)。

Slave Latency 从机延迟:从机跳过多个连接事件的能力

Supervision Time-out 监控超时:两次成功连接事件之间的最长时间

当多连接时,最小的连接间隔是12.5 + 5*N(N为当前连接的数目)
连接参数的更新

主从机连接时,首先使用的是主机端默认的连接参数。
1)如果从机端禁止参数更新,则之后的通信都将使用主机端默认的连接参数。
2)如果从机端允许参数更新,则在主从机连接的DEFAULT_CONN_PAUSE_PERIPHERAL秒后,向主机端发送连接参数更新请求。
  ①如果从机的连接参数符合主机端的连接标准,则更新参数;
  ②如果从机的连接参数不符合主机端的连接标准,则不更新参数。如果此时使用的主机参数,不在从机申请的参数范围内,则会造成连接断开。

Master可以直接发起连接参数更新,Slaver要发起连接参数更新,要先在L2CAP层向主机发起协商,主机同意后,再由主机走LL层和GAP的来发起参数更新。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/435022.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【T6】畅捷通T6软件后, 打开总账模块,提示:3343不可识别的数据库格式。

【问题描述】 登录畅捷通T6软件后, 打开总账模块,提示:3343不可识别的数据库格式 C: Windows\system32\UFCOMSQL\Ufformat.mdb。 【解决方法】 找到相同系统、软件版本正常的环境下, 将【Ufformat.mdb】文件进行覆盖。 【附件文…

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-友情链接管理实现

锋哥原创的SpringbootLayui python222网站实战: python222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBootPython爬虫实战) ( 火…

el-upload上传文件,如何使用action、auto-upload

1点击打开自动上传 没有 :auto-upload"false"就是自动上传 2点击上传按钮上传 不自动上传:auto-upload"false" <el-dialogstyle"background: rgb(18, 67, 112); border: 1px solid #409eff":title"上传文件":model-value"…

JavaEE-自定义SSM-编写核心- my spring bean工厂(IoC、DI)

3.4 my spring bean工厂&#xff08;IoC、DI&#xff09; 加载类解析类获得类 3.4.0 分析 3.4.1 扫描指定包下的所有类 package com.czxy.bean;import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Objects;public class MyBeanFac…

【GitHub项目推荐--十六进制编辑器】【转载】

一款名为 ImHex 的十六进制编辑器获得了 15.3k 的 Star。十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据&#xff0c;并用较为友好的界面来编辑二进制数据&#xff0c;和常见的十六进制编辑器 GNOME Hex Editor 等不一样&#xff0c;ImHex 功能非常强大&am…

C语言 小明喝饮料

题目&#xff1a;喝汽水&#xff0c;1瓶汽水1元&#xff0c;2个空瓶可以换汽水&#xff0c;给n元&#xff0c;可以喝多少汽水//理论问题&#xff0c;请勿模仿-^- #include <stdio.h> int main() {int n,ret,i;scanf("%d", &n);ret n;while (n>1){ret …

时间编程相关的API

1》time -- 获取日历时间 日历时间&#xff1a;1970年1月1日距离现在的秒数 #include <time.h> time_t time(time_t *timer): 获取当前的系统时间&#xff0c;并以time_t类型返回。 2》将日历时间转化为本地时间 localtime #include <time.h> struct tm *localtim…

文件包含技术总结

开发人员一般会把重复使用的函数写到单个文件中&#xff0c;需要使用某个函数时直接调用此文件&#xff0c;而无需再次编写&#xff0c;这中文件调用的过程一般被称为文件包含。 allow_url_fopen On&#xff08;是否允许打开远程文件&#xff09; allow_url_include On&…

计算机中丢失mfc100u.dll怎么解决,详细解析mfc100u.dll丢失的解决方法

遭遇“无法找到mfc100u.dll”的错误不必过分担忧&#xff0c;这是一个普遍现象。许多用户在启动某些软件或游戏的时候可能会碰到这样的情况。通常&#xff0c;这个错误信息表明你的计算机系统中缺失了一个关键的动态链接库(DLL)文件&#xff0c;它可能会妨碍应用程序的顺利启动…

Linux 驱动开发基础知识—— 具体单板的 LED 驱动程序(五)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

《HelloGitHub》第 94 期

兴趣是最好的老师&#xff0c;HelloGitHub 让你对编程感兴趣&#xff01; 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 https://github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等&#xff0c;涵盖多种编程语言 …

推荐一款第三方的日历框架------CalendarView

简介 Android上一个优雅、高度自定义、性能高效的日历控件&#xff0c;完美支持周视图&#xff0c;支持标记、自定义颜色、农历等&#xff0c;任意控制月视图显示、任意日期拦截条件、自定义周起始等。Canvas绘制&#xff0c;极速性能、占用内存低&#xff0c;支持简单定制即可…