小白学习蓝牙第四章——传统蓝牙host介绍
1. 主机控制器接口层(HCI)
简单来说,HCI层的全程叫做Host Controller Interface,也就是说,HCI层定义了特定的格式由蓝牙协议栈来控制蓝牙芯片来做出相应的动作(比如说inquiry、connect、disconnect等一些操作)。并且蓝牙芯片回应蓝牙协议栈状态以及事件消息。蓝牙HCI在整个蓝牙中的架构图如下图所示:
HCI芯片中能够识别并且执行相应动作的原因在于在蓝牙芯片中同样存在HCI的协议代码,被烧到了蓝牙芯片中,因此所发送的数据可以被正确地解析出来,执行相应的动作之后再准确地回送给response中。
HCI的章节划分:
如上图所示:
1)contents->整个HCI章节的介绍
2)HCI层的总体介绍
3)Transport层介绍
4)总体汇总了HCI 的command以及event。
对于各自的核心配置,字母“M”表示必须声明支持,“O”表示可以选择声明支持,“P”表示可以选择仅声明核心配置的部分支持,“I”表示核心配置固有地包含在组合核心配置中,“E”表示不应声明对核心配置的支持
5)HCI FLOW CONTROL,主要讲解HCI流控。
6)HCI DATA FORMATS,HCI数据格式,
HCI command(蓝牙协议栈-->蓝牙芯片)
HCI event(蓝牙协议栈->蓝牙芯片)
HCI acl(蓝牙协议栈-->蓝牙芯片)
HCI sco(蓝牙协议栈-->蓝牙芯片)
HCI iso(蓝牙协议栈-->蓝牙芯片)
7)HCI CONFIGURATION PARAMETERS,HCI data的参数
8)HCI COMMANDS AND EVENTS
9)APPENDIX A:DEPRECATED COMMANDS, EVENTS, AND CONFIGURATION PARAMETERS
->被抛弃的command/event/数据参数
2. 逻辑链路控制和适配(L2CAP)
3. 服务发现协议(SDP)
4. 串口仿真协议(RFCOMM)
原文地址:https://www.cnblogs.com/zink623/p/15132151.html
- Tomcat配置Web程序几种方式
- java并发编程学习: 守护线程(Daemon Thread)
- HTML条件注释判断浏览器及检验
- HttpClient(二)HttpClient使用Ip代理与处理连接超时
- JavaScript中匿名函数的困惑
- 基础野:细说有符号整数
- Ubuntu14.04下如何开启Mysql远程访问
- docker学习(7) docker-compose使用示例
- docker学习(3) 容器的启动过程
- 基础野:细说原码、反码和补码
- JavaScript循环读书笔记
- docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
- HttpClient(一)HttpClient抓取网页基本信息
- Httpd运维日志:通过apxs添加模块
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【每日一题】36. Valid Sudoku
- 【网易云课堂】Java语言程序设计进阶----第一周编程作业
- 11 Confluent_Kafka权威指南 第十一章:流计算
- 简直骚操作,ThreadLocal还能当缓存用
- 品优购(IDEA版)-第一天
- 品优购(IDEA版)-第二天
- 品优购第四天
- 深度学习框架OneFlow的并行特色(附框架源码和教程)
- 图解Java设计模式
- python 如何解决 No module named ‘pip‘问题
- 用多智能体强化学习算法MADDPG解决"老鹰捉小鸡"问题
- 网站日志实时分析之Flink处理实时热门和PVUV统计
- 大数据量下的集合过滤—Bloom Filter
- 实时数仓链路分享:kafka =>SparkStreaming=>kudu集成kerberos
- rocketmq broker启动报错,找不到或无法加载主类