德州CC2640R2f蓝牙芯片学习笔记(四)蓝牙协议栈

本文详细介绍了蓝牙协议栈中的GAP层,包括连接参数、有效连接间隔、连接参数更新以及GAPRole任务。同时,讲解了GATT通用属性配置文件,涉及GATT服务、GATT客户端抽象和GATT服务抽象。内容涵盖外设和中央设备角色,以及GATT服务和安全特性。
摘要由CSDN通过智能技术生成

本系列文章由江山(csdn名:补不补布)(github:jianggogogo)自己写成,当中用到引用时都已经标记出来,如果出现版权问题,请直接联系我修改。当然,技术在于分享,欢迎大家转载,不过请注明出处。最后,如果出现有错误的地方欢迎大家指正。

前言:

基于谷雨cc2640教程

一、蓝牙协议栈简介:

对蓝牙有基础的朋友可能知道蓝牙的一些概念,这就是一个典型蓝牙协议栈。那么对于蓝牙新手来说,我们就可以降蓝牙协议栈看作是一个飞机,我们只需要学习如何开飞机就行,至于飞机怎么做,那不是我们现阶段需要考虑的事情。
在这里插入图片描述

二、GAP层,通用访问配置文件:

  1. BLE协议栈的GAP负责连接功能,处理的是设备的接入过程
  2. 包括:设备发现,链路建立,链路终止,安全特性的启动和设备配置。

在这里插入图片描述

2.1、连接参数:

  1. connection interval连接间隔:在ble方案中,为使用跳频方案,就是两个设备旨在特定的频道上面交流数据,随后会在新的频道上面同行,而这个新的频道在上次的交流中约定。连接间隔的范围从6(7.5ms)到最大值3200(4.0s)
  2. slave latency从机延迟:这个参数是从机跳过多个连接事件的能力:如果外设没有要发送的数据就继续睡眠。当然,这个功能可以选择开启或者不开启。
  3. supervison time-out:监控超时,连词成功连接事件之间的最长时间,如果在这个时间内没有成功,那么设备将终止连接并且返回到未连接状态。以10ms为单位,可以从10(100ms)到3200(32.0s)之间。

2.2、有效连接间隔:

有效连接间隔等于两个连接事件之间的时间跨度。当没有数据从从机发送到主机时,从机每500ms 一个 连接事件 交互一次 。

2.3、连接参数注意事项:

在这里插入图片描述

2.4、多连接下的连接参数限制:

为了有时间能够扫描新设备,可以使用的最小连接间隔为12.5+5*n。n为当前连接的数量。

2.5、连接参数更新

外设可以发送连接参数更新请求来请求主机更改连接设置。
-该请求包含四个参数:最小连接间隔,最大连接间隔,从延迟和
监管 超时。这些值表外围设备对连接所需的参数(连接间隔作为范围给出)。当 主机 设备接收到该请求时,它可以接受或拒绝新的参数。

  • 根据
    GAPRole ,连接参数更新可以 调用 GAPRole_SendUpdateParam 或GAPCentralRole_UpdateLink 命令异步发送。

2.6、连接终止:

主机和从机可以由于任何原因终止连接,一方终止,另一方必须在两台设备退出连接状态之前进行相应。

2.7、GAP概述:

应用层可以直接调用GAP APi来执行BLE相关功能,大多数GAP由GAProle task处理。

在这里插入图片描述

2.8、配置GAP:

GAP层功能主要在库代码中定义,这些功能大多由GAPRole调用,不需要应用直接调用。

  • 开始GAPRole 之前可能需要修改的几个参数。这些参数可以通过 GAP_SetParamValue 和GAP_GetParamValue 函数进行设置或获取,包括 广播和扫描间隔、 窗口等(有关更多信息,请参阅 API )。以下是 simple_peripheral_init 中 GAP 层的配置:

在这里插入图片描述

三、GAPRole任务

  • 这是一个单独的任务,处理大多数GAP层的功能,并且释放应用层的空间。这个任务由应用程序启用和配置,许多蓝牙低功耗协议栈实际那由GAPRole任务直接处理而不传送到应用程序中。
  • 应用程序可以向GAPRole注册回调函数,用于在应用程序中处理某些事件。
    在这里插入图片描述

3.1、外设角色 peripheral:

操作流程:
1、 初始化GAPRole参数:
在这里插入图片描述
2、初始化GAPROle任务,并且将应用程序回调函数传回GAPRole。
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值