【0x0008】HCI_Create_Connection_Cancel命令详解
目录
2.1. HCI_Create_Connection_Cancel 命令格式
3.2. HCI_Connection_Complete 事件
HCI_Create_Connection_Cancel 命令的核心作用在于请求取消由HCI_Create_Connection 命令所启动正在进行的连接创建过程。当出于某些原因,比如发现连接目标不合适、环境因素影响连接或者用户主动取消等情况时,就可以使用该命令来终止尚未完成的连接创建流程。
一、命令概述
当本地设备尝试与远程设备建立连接时,如果出于某种原因需要取消这个连接创建过程(例如,用户取消了操作,或者连接超时等),可以使用 HCI_Create_Connection_Cancel 命令。该命令会通知蓝牙控制器停止尝试与指定 BD_ADDR 的设备建立连接。
如果命令成功执行,蓝牙控制器将停止正在进行的连接创建过程,并返回状态码 0x00。如果命令失败(例如,因为指定的 BD_ADDR 无效,或者没有正在进行的连接创建过程与该 BD_ADDR 相关联),蓝牙控制器将返回相应的错误状态码。
二、命令格式及参数说明
2.1. HCI_Create_Connection_Cancel 命令格式
HCI_Create_Connection 命令的格式通常遵循 HCI 命令的一般结构,包括:
- 命令前缀(一个字节,表示这是一个 HCI 命令包)
- 操作码(Opcode,由 OGF 和 OCF 组成,用于标识具体的 HCI 命令)
- 参数长度(表示后续参数的总长度)
- 参数(本命令中为 BD_ADDR)
2.2. BD_ADDR
在 HCI_Create_Connection_Cancel 命令里,通过填写对应的 BD_ADDR,来明确是针对哪一个目标设备的连接创建过程要进行取消操作,就如同通过地址来指定要取消某项服务对应的具体对象一样。
- 描述:这是一个 48 位的蓝牙设备地址(Bluetooth Device Address,简称 BD_ADDR),用于唯一标识一个蓝牙设备。
- 格式:由 6 个十六进制数表示,例如 0xXX:0xXX:0xXX:0xXX:0xXX:0xXX。
- 作用:准确地定位到之前发起连接创建的那个目标设备,确保取消操作作用在期望的连接创建流程上,避免误取消其他无关的连接尝试或者操作,保证命令执行的针对性和准确性。
三、返回事件及参数说明
当 HCI_Create_Connection_Cancel 命令执行完毕后,会触发一系列的事件和状态反馈,具体取决于连接的状态和之前的操作。
3.1. HCI_Command_Complete 事件
- 基本事件生成:无论结果如何,当 HCI_Create_Connection_Cancel 命令执行完成后,都会生成一个 HCI_Command_Complete 事件。该事件用于通知主机(Host)该命令的执行状态。
- 连接未建立时的处理:
- 如果在基带(Baseband)层连接尚未建立,但有一个与指定 BD_ADDR(蓝牙设备地址)相关联的连接创建过程正在进行,那么取消命令会成功执行,断开任何可能的连接尝试,并返回状态为“Success”(0x00)的 HCI_Command_Complete 事件。
- 如果之前没有针对该 BD_ADDR 发起连接创建过程,那么控制器会返回状态为“Unknown Connection Identifier”(0x02)的 HCI_Command_Complete 事件,表示没有找到要取消的连接。
- 连接已建立但尚未通知时的处理:如果在基带层连接已经建立,但 BR/EDR 控制器(蓝牙控制器)尚未向主机发送 HCI_Connection_Complete 事件(表示连接成功建立的事件),那么收到取消命令后,本地设备会断开连接,并返回状态为“Success”(0x00)的 HCI_Command_Complete 事件。
- 连接已建立且已通知时的处理:如果连接已经建立,并且 HCI_Connection_Complete 事件已经发送给主机,那么控制器会返回状态为“Connection Already Exists”(0x0B)的 HCI_Command_Complete 事件,表示连接已经存在,无法取消。
3.2. HCI_Connection_Complete 事件
- 发送顺序及关联:无论取消命令是否成功,与原始 HCI_Create_Connection 命令相对应的 HCI_Connection_Complete 事件都会发送。并且其发送顺序是在 HCI_Create_Connection_
原文地址:https://blog.csdn.net/weixin_37800531/article/details/144386612
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!