Bluetooth 蓝牙双LE和经典模式标志
在BLE的广告部分,蓝牙SIG定义“标志” 有这些,还有一些Bluetooth 蓝牙双LE和经典模式标志,bluetooth,bluetooth-lowenergy,Bluetooth,Bluetooth Lowenergy,在BLE的广告部分,蓝牙SIG定义“标志” 有这些,还有一些 BR/EDR不受支持 可同时对同一设备进行LE和BR/EDR(控制器) 可同时对同一设备进行LE和BR/EDR(主机) 我对CSR芯片组设计存在问题,该芯片组不支持GATT over BR/EDR 苹果工作得很好,因为它总是连接到LE ..但如果音频已经启动,android设备会持续尝试通过BR/EDR连接GATT;因此,由于CSR无法为GATT处理BR/EDR运输,因此失败 我认为这些标志是问题的核心 在CSR的演示代码中,他们
- BR/EDR不受支持
- 可同时对同一设备进行LE和BR/EDR(控制器)
- 可同时对同一设备进行LE和BR/EDR(主机)
我不知道为我的用例设置什么标志。欢迎任何建议?您可以对所有LE操作使用静态随机地址。这样,Android设备就认为它与通过Bluetooth Classic聊天时的设备不同,因为它使用的是公共BD_ADDR 或者,
connectGatt
的一个变体采用一个transport
参数,您可以将该参数设置为transport\u LE
,以强制通过BLE进行通信
如果您的设备同时支持BLE和BR/EDR,则应设置以下标志:
BR/EDR Not Supported=0
Simultaneous LE and BR/EDR to Same Device Capable (Controller)=1
Simultaneous LE and BR/EDR to Same Device Capable (Host)=1
如果标志数据完全丢失,则与所有字段均为零相同。谢谢,我想了解“主机”和“控制器”部分在此上下文中的含义。通常情况下,外部芯片上有一个蓝牙控制器,然后是一台主机(插入芯片)。我认为,第一个标志(控制器)是蓝牙芯片本身是否同时支持这两个标志,第二个标志是主机上的软件是否支持同时处理这两个标志。BR/EDR Not SUPPORED并没有真正的帮助。一旦安卓注意到还有第二个频道,它似乎就会忽略它。