蓝牙hci扫描的流程
时间: 2023-09-06 07:01:22 浏览: 272
Android 蓝牙 BLE 扫描(scan)数据流程图(协议栈),非常详细的从btif-bta-btm-hci 数据流程走向,
5星 · 资源好评率100%
蓝牙HCI(Host Controller Interface)扫描是指通过扫描器在蓝牙设备之间进行信息交换的过程。它的流程如下:
首先,蓝牙设备需要进入扫描模式。扫描模式分为主动扫描和被动扫描。主动扫描是指设备主动发送请求,被动扫描是指设备被动等待被其他设备发现。
进入扫描模式后,扫描器会发送IDLE命令到控制器,通知其开始扫描蓝牙设备。控制器会以指定的参数(如扫描类型、扫描窗口、扫描间隔等)来执行扫描操作。
接下来,控制器会发送命令给链路管理器,告知其进入扫描状态。链路管理器会根据控制器提供的参数来设置扫描窗口,并等待扫描结果的返回。
同时,链路管理器还会启动定时器来跟踪扫描窗口的时间。在扫描窗口期间,链路管理器会监听和接收其他蓝牙设备发送的广播信号。
当有其他蓝牙设备发送广播信号时,链路管理器会读取收到的数据,并通过命令返回给控制器。控制器再将扫描结果返回给扫描器,扫描器再将结果传递给上层应用程序。
扫描器会将扫描结果进行处理,如显示设备名称、设备地址等信息,供用户选择连接或交互。
最后,扫描过程会在设定的扫描间隔后自动结束,并返回到IDLE状态。
总结来说,蓝牙HCI扫描的流程是:设备进入扫描模式 -> 控制器发送扫描命令给链路管理器 -> 链路管理器监听和接收其他设备的广播信号 -> 控制器返回扫描结果给扫描器 -> 扫描器处理并显示扫描结果 -> 扫描过程结束。
阅读全文