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:当将 CC2340R5用作中央器件时、无法从外设器件接收到更透明的数据。

Guru**** 2588325 points
Other Parts Discussed in Thread: CC2340R5, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1311923/cc2340r5-when-using-the-cc2340r5-as-the-central-device-more-transparent-data-from-peripheral-devices-cannot-be-received

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

大家好、TI 团队。

我将使用 CC2340R5作为通过也是 CC2340R5的外设进行透明传输的中央器件。  外设每500ms 向中央设备发送大约30字节的数据、此时 MTU 的最大值为251字节。

当中央设备接收到约1800个字节的数据时,中央设备似乎不再接收外围设备发送的数据,外围设备继续发送数据。  我尝试过几次,同样的结果。

下面的代码是最终接收数据并通过串行端口打印到 PC 的位置。

我的同事遇到了同样的问题。

此致、

Joey。

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

    Joey、您好!

    感谢您的联系! 从您共享的内容来看、似乎您的设置正确、但缓冲区可能无法正确清除。  您能否分享您正在使用的基本工程和 SDK 以及 对其进行的任何更改/添加(包括 SysConfig)?

    我还对您从外围设备发送的内容以及如何清除中央设备(如果有)感到好奇。

    此致、

    卢克

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

    Luke、您好!

    您是对的。  出现这种情况的原因是缓冲区没有被清除。 当我将 GATT_BM_FREE (&(gattMsg->msg)、gattMsg->method)添加到 GATT_eventhandler 函数的末尾以释放缓冲区时、当前不会发生上述情况。

    顺便说一下、我在一段时间前发现了一个问题。 在 ATT_MTU_UPDATED_EVENT 中、 MTU 的实际更新值不是((attMtuUpdateEvt_t *) pMsgData)-> MTU 指向的值。  该值始终固定为176。  正确的值应该是 gattMsg->msg.mtuEvt.mtu 指向的值。

    我正在使用的 SDK 版本是 simplelink_lowpower_f3_SDK_7_20_01_10。

    此致、  

    乔伊

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

     Joey:

    很高兴能够解决您的问题、感谢您分享您发现的这个其他问题! 我将向内部团队报告此问题、以便他们能够尽快修复。

    此致、

    卢克