大家好、
我使用的是 BLE 模块 CC2540 USB 软件狗、我希望使用"TI BLE 供应商特定 HCI 参考指南"中描述的命令代码与其进行通信。 我在 CC2540中加载 了 CC2540、其中包含 CC2540USBdongle_HostTestRelease_All.hex 文件、该文件通过 USB 实现串行通信。
我使用 Matlab 软件及其函数在串行端口上进行写入和读取、以与模块通信。 所有串行参数均已正确设置(BR 115200、8位、无流控制、无奇偶校验位)。 实际上、我能够初始化 GAP、获取 GAP 参数并开始器件发现。 当我尝试建立与扫描过程中发现的外围设备(RN4020)的连接时、我的问题就会出现。
以下是发送的[TX]命令和获取的答案(返回)[RX]:
初始化设备配置文件
TX:01 00 FE 26 08 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
RX: 04 FF 06 7F 06 00 00 FE 00 04 FF 2C 00 06 00 95 CC 8B 21 F8 5C 1B 00 0C 56 CF 82 FF 7B A0 E8 61 35 4D 4C 17 97 36 6E 6C D8 21 DA D9 7A 5A 08 E2 33 45 9C D7 0E EA 13 C5
成功
获取参数
TX:01 31 FE 01 15
RX:04 FF 08 7F 06 00 31 FE 02 50 00
成功
最小连接间隔:80ms
获取参数
TX:01 31 FE 01 16
RX:04 FF 08 7F 06 00 31 FE 02 50 00
成功
最大连接间隔:80ms
获取参数
TX:01 31 FE 01 1A
RX:04 FF 08 7F 06 00 31 FE 02 00
成功
从器件延迟:0ms
获取参数
TX:01 31 FE 01 19
RX:04 FF 08 7F 06 00 31 FE 02 D0 07
成功
监控超时:2000ms
设备发现请求
TX:01 04 FE 03 01 00
RX:04 FF 06 7F 06 00 04 FE 00
成功
建立链路请求
TX:01 09 FE 09 00 01 DA 02 1D C0 1E 00
RX:04 FF 06 7F 06 10 09 FE 00
最后一个 RX 的第六个元素(返回参数)为10 (而不是00 =成功)、表示"尚未准备好执行此操作。 正在执行扫描。"。 因此、我尝试在请求连接之前停止扫描(也是 在 https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/206742中建议的) 、但我发现了另一个问题:
设备发现停止
TX:01 05 FE 00
RX:04 FF 0C 01 06 00 01 00
成功
建立链路请求
TX:01 09 FE 09 00 01 DA 02 1D C0 1E 00
RX:04 FF 04 01 06 30 00 04 FF ?? 我不理解这条消息!
在这种情况下、连接请求也无法成功结束 我还使用了 BTool 软件来验证命令、使用专用软件不会出现此问题。 所以我很困惑。 有人可以解决这个问题吗?
感谢您的关注、
Fabio