This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2540:与 CC2540的串行通信

Guru**** 2555630 points
Other Parts Discussed in Thread: CC2540

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/573028/cc2540-serial-communication-with-cc2540

器件型号:CC2540

大家好、
我使用的是 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

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Fabio、

    您可以在 bcomdef.h 中找到所有定义-您将获得:
    #define bleGAPUserCanceled 0x30 //!<用户已取消任务

    哪一项没有太大意义、您可以在 HCI_Tester 上尝试一下? processors.wiki.ti.com/.../LPRF_BLE_HCITester

    此致、
    反叛分子