zoukankan      html  css  js  c++  java
  • 蓝牙Inquriy 过程详解

    问题

    今天遇到了一个问题,就是自己的耳机产品,手机经常搜不到,从日志里面查看,发现原因是平时手机蓝牙发送的是inquiry mode =2 出问题的时候,inquiry mode =1 由于
    本设备很多东西是靠inquiry mode 2 里面的扩展信息来标记连接状态的,所以会出现连接不上的情况。借此机会,要把蓝牙的这块复习一下,也顺便把问题梳理一下。

    inquriy 的流程

    从下面的图可以很清楚的看到,一般是主设备发送inquriy 的ID包,从设备收到这个帧之后,会发送inquriy response,response帧一般有两种,一种是无扩展的FHS帧,另外一种是带扩展的数据包。具体的扩展数据要看两个设备的协商了。这里引出一个问题,从设备在什么场景下要回复什么帧呢?这里牵出了inquiry的类型。

    inqure 类型

      从下面的蓝牙协议栈中可以看出,inquriy 帧有三种类型指定的发送,从设备会根据主设备的inquriy mode类型来发送具体的类型的帧来回复不同的response类型,这个也就清楚了,从设备是根据主设备的inquriy mode来返回不同类型。

    几个疑问

    主设备什么场景下会发送inquriy mode 1的帧?
    从设备的表现看来,应该是主设备一般是发送mode =2的帧,只是遇到slave不回复的时候,主设备以为是信号不好,就启动退避机制,开始发送mode=1的帧,如果仍旧还收不到,那就会启动mode=0的退避机制,这个只是我的个人推测,不知道是否正确,还希望有些理解更深的大牛帮忙确认一下?

  • 相关阅读:
    Supervisor
    JS操作JSON总结
    电脑连接海信电视 HDMI
    upupw nginx服务器 rewrite设置
    PHP实现远程图片下载
    web页面调用IOS的事件
    composer更新不成功,启用国内镜像网站的配置更改办法
    Oracle中的一连接语句
    Oracle 树操作(select…start with…connect by…prior)
    MyEclipse下Tomcat无法部署项目 finish按钮无法点击
  • 原文地址:https://www.cnblogs.com/dylancao/p/11320467.html
Copyright © 2011-2022 走看看