文章目录

  • 一、H4 串口设置
  • 二、hci 数据类型
    • 1. cmd
      • a. OGF
      • b. OCF
      • c. Parameter Total Length
      • d. Parameter
    • 2. acl
      • a. Handle
      • b. PB flag
      • c. BC flag
      • d. Data total length
    • 3. sco
      • a. Handle
      • b. Packet_Status_Flag
      • c. Data_Total_Length
    • 4. event
      • a. Event code
      • b. Parameter Total Length
      • Parameter

一、H4 串口设置

  • 数据位:8bit
  • 奇偶校验位:无
  • 停止位:1bit
  • 硬件流控:RTS/CTS

二、hci 数据类型

  • 0x01 - HCI CMD: 由蓝牙协议栈发送给芯片的命令
  • 0x02 - HCI ACL: 蓝牙协议栈跟蓝牙芯片双向交互的普通数据
  • 0x03 - HCI SCO: 蓝牙芯片跟蓝牙协议栈双向交互的通话/语音识别等音频数据
  • 0x04 - HCI EVENT: 由蓝牙芯片上报给蓝牙协议栈的事件
  • 0x05 - HCI ISO:(core5.2添加)蓝牙协议栈跟蓝牙芯片双向交互的 LE audio 等音频数据

1. cmd

a. OGF

  • 0x01: Link Control commands,控制蓝牙芯片跟remote沟通
  • 0x02: Link Policy commands,比如转换角色等
  • 0x03: Controller and Baseband commands,控制本地芯片跟基带,如 reset 本地芯片等
  • 0x04: Informational parameters,读取信息,比如读取本地芯片的LMP版本,支持的command, 蓝牙地址等
  • 0x05: Status parameters,状态参数,比如读取RSSI等
  • 0x06: Testing commands,测试命令,比如让芯片进入测试模式(DUT,device under test)
  • 0x08: LE Controller commands,BLE 的命令
  • 0xFF: Vendor-specific Debug commands,芯片厂商为了扩展core文档的HCI command定义

b. OCF

每个 OGF 下都有一堆的 OCF 定义

c. Parameter Total Length

后续参数的长度,不包括OGF,OCF和自己

d. Parameter

不同 command 对应的参数不同

2. acl

a. Handle

连接句柄,对应某一个对端设备,用于蓝牙连接后跟对端设备交互ACL数据,ACL为上层L2CAP层的应用数据

b. PB flag

上层数据(L2CAP),是否是分包数据:0b10 - 首包,0b01 - 后续包

c. BC flag

是否为广播:0b00 - 点对点,0b01 - BR/EDR 广播,BLE不使用此字段

d. Data total length

后续 Data 长度,不包括handle,PB flag, BC flag 和 自己

分包示例:


3. sco

a. Handle

连接句柄,对应某一个对端设备,用于蓝牙连接后跟对端设备交互SCO音频数据

b. Packet_Status_Flag

c. Data_Total_Length

后续 Data 的长度

4. event

a. Event code

唯一的 event编码

b. Parameter Total Length

后续参数的长度,不包括Event Code和自己

Parameter

每个 Event 对应的参数不同

ble HCI 数据格式相关推荐

  1. BLE数据报文格式解析

    1.数据链路层报文结构 报文的基础是数据链路层的报文,其它报文都是从此展开的,BLE数据链路层数据格式如下: 后期补充:在最新的core spec 5.2中,有1M PHY和2M的PHY,对应前导符变 ...

  2. BLE蓝牙断开连接原因对照表

    BLE HCI STATUS(通常用于表示蓝牙断开原因) 查阅BLE_core_5.0的Vol2.Part D: Error Codes章节 或者看蓝牙厂商提供的头文件ble_hci.h #defin ...

  3. Android Bluedroid source code analysis

    Android Bluedroid source code analysis 图1:应用层到协议层 Android的bt整体结构如图1所示: 应用层:使用蓝牙协议的各种应用,例如:蓝牙电话.音乐等. ...

  4. android蓝牙错误码8,如何解决BluetoothGatt:Android中发生android.os.DeadObjectException错误?...

    我按照页面Bluetooth Low Energy开发Android 4.3的蓝牙低功耗. 我已经可以打开蓝牙,扫描设备并连接到BLE设备. 但是,在尝试连接到device(device.connec ...

  5. 涂鸦T2-U开发板快速入门

    文章目录 T2-U模组概述 特性 1.环境搭建 2.SDK下载 3.编译 3.1. 命令编译 3.2. 命令编译清除 3.3. Wind-IDE 编译 3.4.编译完成 4.下载 4.1. GUI工具 ...

  6. 三 蓝牙低功耗(BLE)协议栈 之 HCI层

    一 HCI介绍 HCI (Host Controller interface), 为Host访问Controller提供一组标准的接口. 主要完成3个任务: Host通过HCI发送命令给Control ...

  7. BLE主机控制器接口层(HCI)数据结构

    HCI上传输的5种数据: HCI Command packet : Host层发送给Controller的命令,只能由Host发出. HCI ACL Data packet: Controller上报 ...

  8. ble zephyr lbs样例,一上电进入广播状态,发送的HCI命令

    bt_send的函数. BT_HCI_OP_RESET                0x03 0x0c 00       BT_HCI_OP_READ_LOCAL_FEATURES          ...

  9. 蓝牙解析(part5):BLE的广播通信

    转自Wowo大神的http://www.wowotech.net/bluetooth/ble_broadcast.html 1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大 ...

  10. [BLE]低功耗蓝牙介绍

    一.BLE的协议栈框架 BLE协议栈包括两个部分,主机(Host)和控制器(Controller).二者通过HCI(Host Controller Interface)标准接口相互通信.常用的单芯片单 ...

最新文章

  1. html2canvas文字重叠(手机端)
  2. linux下makefile使用
  3. 被上海爱立信录取,GL
  4. ArrayList遍历的同时删除
  5. Mybatis的修改列与重命名
  6. 清空数据库部分表的数据 Oracle
  7. 第六天,字典Dictionary
  8. 学生信,不是贪多的,而是求精的!
  9. leetcode 1189 python
  10. (91)多人投票器(五人投票器)
  11. Leetcode每日一题:349.intersection-of-two-arrays(两个数组的交集)
  12. python入门经典-入门python有什么好的书籍推荐?
  13. golang 数组组合成最小的整数_Redis之整数集合底层实现
  14. Scala 基础(7)—— 函数字面量和一等函数
  15. 盘点澳洲留学性价比较高城市
  16. PHY--PDCCH
  17. LTE ue连接enb数据包流程解析
  18. 解析 Github 的默认头像
  19. SpringData Manytomany 中间表添加额外字段
  20. 读jQuery 权威指南[5]-插件

热门文章

  1. 【项目管理/PMP/PMBOK第六版/新考纲】计算题24道带答案解析!
  2. python中temp的用法_请问Python里temp是什么意思?
  3. 鹿客、小米、智汀、德施曼这几款热门智能门锁测评:谁最安全?谁最便捷?
  4. 错误 请再次按下快门释放按钮
  5. LaTex 在线编辑编译,生成PDF —— Overleaf
  6. uva 10105 Polynomial coefficients
  7. 标题 多媒体计算机的标准是什么,多媒体技术习题答案
  8. 用计算机制作动画的方法,电脑怎么制作flash动画?电脑制作flash动画的方法
  9. java 世界杯自动分组_2018世界杯分组抽签详解
  10. 黄色一般表示碳膜电阻,蓝色金属膜,灰色保险电阻