Bluetooth 蓝牙不使用HCI进行写扫描

Bluetooth 蓝牙不使用HCI进行写扫描,bluetooth,embedded,stack,Bluetooth,Embedded,Stack,我正在尝试在现有的嵌入式设备上实现蓝牙。我使用的控制器是LS Research TiWi-uB2,它使用Ti CC2564双模IC。主机是一个LPC2378微控制器。该设备需要能够被其他设备(目前的Android设备和PC)发现。这个设备没有现成的BT堆栈可以满足我的需要(成本、静态内存分配、内存大小),所以我正在编写自己的堆栈 通过阅读规范第2卷E部分,我最终在HCI上获得了有意义的通信,但该设备似乎从未被其他任何东西“发现”。在这一点上,我只使用BR/EDR特性,而不是LE特性 以下是HCI

我正在尝试在现有的嵌入式设备上实现蓝牙。我使用的控制器是LS Research TiWi-uB2,它使用Ti CC2564双模IC。主机是一个LPC2378微控制器。该设备需要能够被其他设备(目前的Android设备和PC)发现。这个设备没有现成的BT堆栈可以满足我的需要(成本、静态内存分配、内存大小),所以我正在编写自己的堆栈

通过阅读规范第2卷E部分,我最终在HCI上获得了有意义的通信,但该设备似乎从未被其他任何东西“发现”。在这一点上,我只使用BR/EDR特性,而不是LE特性

以下是HCI接口的调试转储(包括UART数据包类型):

我还可以进行链接查询:

Tx: 0x01 0x01 0x04 0x05 0x33 0x8B 0x9E 0x0A 0x0A
Rx: 0x04 0x0F 0x04 0x00 0x01 0x01 0x04
…
Rx: 0x04 0x01 0x01 0x00
但它没有发现任何设备

我肯定我遗漏了一些相当明显的东西,但我看不出可能是什么。我看不出CC2564需要经过特殊处理才能在BR/EDR模式下运行,而且所有默认设置似乎都是合理的

更新 该模块需要一个初始化脚本(也称为“service pack”)。请参阅“初始化脚本”下的。好消息是,通过脚本,现在可以发现模块。坏消息是,根据LS研究,我自己的堆栈不会被蓝牙SIG投诉-我将不得不使用Bluetopia堆栈。似乎所有的事情都非常适合使用Ti处理器。

此时,我必须等待具有更高级别接口的BR/EDR/BLE模块上线。

只有当您使用公共配置文件(例如SPP)时,或者当您以可连接的方式将设备公开给其他公共设备(如耳机或键盘)时,才需要蓝牙合规性。简而言之,只有当您在全球市场上以“蓝牙”设备的形式销售您的设备时,才需要资格认证(这样您就可以使用该徽标)…至少在我看来

而且service pack不包含堆栈的任何部分,因此完全免版税

在根据本文档加载service pack之前,不允许进行特定于蓝牙的操作(甚至是查找):

您的命令是合理的。有证据表明射频起作用了吗?天线已连接?这是TiWi-uB2 EM板,因此天线是电路的一部分,看起来正常(我刚刚检查了跳线并确认)。我还用示波器测试了慢时钟(结果表明,在任何情况下,没有慢时钟HCI都无法工作)。有一次,我收到了我笔记本电脑蓝牙的地址(但无法再次复制)。
Tx: 0x01 0x01 0x04 0x05 0x33 0x8B 0x9E 0x0A 0x0A
Rx: 0x04 0x0F 0x04 0x00 0x01 0x01 0x04
…
Rx: 0x04 0x01 0x01 0x00