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.

[参考译文] CC2340R5:CC2340发挥着核心作用、经常遇到数据传输故障问题。

Guru**** 2591290 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1347684/cc2340r5-the-cc2340-is-acting-as-the-central-role-and-encountering-issues-with-data-transmission-failures

器件型号:CC2340R5
主题中讨论的其他器件:SysConfig

您好!

当使用 CC2340作为中央角色时、在将 MTU 协商为247后、当我调用 GATT_WriteNoRsp 接口向外设发送数据时、如果数据长度大于20字节、则在发送一段时间后、GATT_WriteNoRsp 接口将返回0x16、并且不可恢复。 即使断开连接和重新连接后、调用任何 GATT 接口也会返回0x16、并且仅复位才会恢复正常。

例如、如果我每50毫秒发送100个字节的数据、在大约2分钟之后、GATT_WriteNoRsp 将返回0x16。

这是 Ellisys 捕捉的无线数据。

e2e.ti.com/.../Untitled2.rar


为了进行测试、我想将 APP_advised_TX_PDU_SIZE 更改为251、并将 APP_advised_TX_TIME 更改为2120、但我看到无线传输的 TX 数据仍在使用27个。

SDK:simplelink_lowpower_f3_SDK_7_40_00_64、basic_ble

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

    您好!

    感谢您与我们联系、

    在继续之前、我想检查这是否不是我们已修复但其补丁尚未发布的错误。 您能否尝试将随附的 ble5.c 文件添加到您的项目中(在 CCS 中右键点击项目名称>添加文件)、然后再次编译和测试。

    如果您发现任何变化、请通知我。

    丹桂语

    e2e.ti.com/.../ble5.c

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

    您好!

    添加该文件后、问题在测试过程中仍然存在

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

    您好!

    感谢您测试 ble5.c 文件。

    我能够在7.40中重现错误、但不能在7.20中重现错误。我认为该错误位于  7.40的无线电驱动程序中、与射频操作量相关。 在哪里可以使用不同的传输间隔和数据大小重现错误?

    我在使用 GATT_WriteCharValue 而不是 GATT_WriteNoRsp 时未成功重现错误 。 您可以使用  GATT_WriteCharValue 重试、并在出现相同行为时更新我吗?

    此外,您能否向我提供 SysConfig 中中央设备的 Observer Configuration?

    此致、

    丹桂语

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

    您好!

    当我使用 GATT_WriteCharValue 发送数据时、我以200ms 的间隔发送数据、每个数据包发送100字节没有问题、每个数据包发送200字节有问题、此接口在发送一段时间后一直返回0x17。

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

    您好!

    感谢您提供的信息、我目前正在处理此问题。 您能否告诉我在函数返回0x17后是否可以重新连接到外设?

    此致、

    丹桂语

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

    您好!

    断开连接后、可以重新连接它、并可以发送数据。

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

    您好!

    这种答复是错误的,您可以在断开连接后重新连接,但呼叫任意
    GATT_xx 接口将返回0x22

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

    您好!

    感谢您的更新、在我这边、我发现了一个溢出、我认为这个溢出是 blePending 错误的根。

    您是否可以使用  GATT_WriteNoRsp 再次运行测试并监控 l2capNumDataPkts 的值,以确保其不会超出初始值(最大 PDU 数)?

    在调试模式下、打开存储器浏览器、搜索 &l2capNumDataPts 并启用持续刷新。

    在我的测试中、当值舍入到0时、会发生 blePending 错误。

    在测试时、增加 GATT_WriteNoRsp 调用间隔似乎也可以防止溢出发生、是否可以尝试将其设置为100ms? 这可能是一个临时的解决方案。

    此致、

    丹桂语

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

    您好!

    未建立连接时的值。

    以100ms 的间隔发送200个字节的数据并持续大约10分钟 GATT_WriteNoRsp 返回0x22、并且 l2capNumDataPkts 的值为0

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

    您好!

    感谢您的测试。我向 R&D 报告了错误、我不知道修复调试需要多长时间、希望我能在本周结束时再次与您联系。

    此致

    丹桂语

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

    您好!

    我是否可以询问是否有解决问题的方法

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

    您好!

    目前没有可用的补丁、但我正在积极地与我的团队合作来分析此问题。 同时、您可以尝试使用不同的数据大小和传输间隔组合来运行代码、以检查它是否可以防止溢出发生?

    此致、

    丹桂语

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

    您好!

    此问题应在 F3 SDK 的8.10.01.02版本中修复、是否可以将您的 SDK 版本升级到此版本并报告此问题是否仍然可重现?

    下载链接: SIMPLELINK-LOWPOWER-F3-SDK 软件开发套件(SDK)| TI.com

    此致、
    丹桂语