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.

[参考译文] CC1354P10:蓝牙数据接收问题 — 存储器存储问题

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1600586/cc1354p10-bluetooth-data-receive-issue-an-memory-storage-issue

部件号: CC1354P10

先生、很好

我正在使用 BLE 角色作为外设、并使用蓝牙从 Android 手机发送数据、但 CC1354 接收的数据不超过 20 字节。如何解决这个问题

2.在 NVC 中将一些数据存储在 cc1354 中、但一旦断电、数据就会关闭。但即使断电、数据仍应保留。请建议您继续使用 SIR。谢谢

 

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

    您好:

    感谢您联系我们!

    1.am 使用 BLE 角色作为外设、并使用蓝牙从 Android 手机发送数据、但 CC1354 接收的数据不超过 20 字节。如何解决此 sir

    要通过 BLE 发送更大的消息、必须增加 MTU 大小。 为此,您可以  在建立连接后使用 GATT_ExchangeMTU() API。

    2.将一些数据存储在 NVC 的 cc1354 中、但一旦关闭、数据就会关闭。但即使断电、数据也应该保留。请建议您继续使用 SIR。谢谢

    您是正确的、非易失性存储器应能承受任何电源事件。 您如何使用 NVS? 您如何检查数据是否未被保留? 请告诉我您的答案、我们希望能够解决您的问题!  

    我还建议查看 NVS 驱动程序 API 文档以及  BLE 用户指南的闪存部分。

    我希望这对您有所帮助!

    此致、

    Tarek D

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

    我正在将数据存储在 NVS 中、但在关断 CC1354 电源后、数据变为零。 我是否需要为此更改任何配置?

    此外、在代码中应在何处使用 GATT Exchange 函数? 是已经存在、还是主席先生、我需要补充?

    我将使用 Datastream 示例作为 BLE  外设 和 NVS。

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

    您好:

    要使用 NVS 驱动 程序、请按照 NVS 驱动程序 API 文档中的示例进行操作、或者您可以查看 SDK 中的 nvsinternal 示例({SDK 位置}->示例-> RTOS ->{your board}->驱动程序-> nvsinternal)。 但请注意、如果您使用的是 BLE 栈 (CONFIG_NVSINTERNAL) 定义的 NVS 区域、则需要使用 SNV API。如果这不起作用、请共享代码片段、说明如何配置和使用 NVS 驱动程序。

    我建议在 BLEAPPUTIL_LINK_INSTABLE_EVENT 内部建立连接后使用 GATT 交换函数

    事件 (app_connection.c)。

    我希望这对您有所帮助!

    此致、

    Tarek D

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



    我已在 app_connection.c 中实现 、但它只接收 20 字节的数据包、请检查代码是否正确、然后提供解决方案 sr。

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

    您好:

    此代码肯定是正确的! 如果您仍然无法发送更大的数据包、我建议检查 GATT_ExchangeMTU 的返回状态、并告诉我它返回的结果。 另外、是否可以尝试将 clientRxMTU 值更改为 200?

    另外、值得注意的是、如果其他设备不支持更大的 MTU 大小、您将无法修改 MTU 大小。

    我希望这对您有所帮助!

    此致、

    Tarek D

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

    我得到的返回响应为 251、但无法从客户端发送它只接受 20 字节、接下来的 15 字节单独接收。我完全发送了 35 字节。并且我的板正在挂起、没有功能正在运行。直到手动重新启动完成。

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

    您好:

    按照返回状态、我指的是从函数 GATT_ExchangeMTU 返回的十六进制值。 如果返回 0x00(成功)、则问题可能出在发送方。 另一端的器件可能不支持超过 20 字节的有效载荷。  

    关于电路板挂起、您能详细说明一下吗? 设备挂起在哪里? 如果这是不相关的问题、请打开另一个主题。

    此致、

    Tarek D

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

    在中、正如前面讨论的那样、返回状态为 0x00、但无法接收超过 20 个字节。但 我尝试使用不同的发送器器件。这是否是要用于这个 SIR 的任何特定器件或应用

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

    您好:

    这当然是奇怪的行为。 您是否可以访问 BLE 数据包监听器? 我想了解另一台设备的 MTU 是否为。 通常、当发生 GATT MTU 交换时、两个设备都会交换各自的 MTU、最终的 MTU 通常是两个设备中的最小值。

    我相信您所做的事情是正确的、问题出在其他设备或应用程序上。 我建议使用 TI SimpleLink Connect 应用。

    如果此问题仍然存在、请共享用于处理 GATT 消息的代码以及所发送数据的说明。

    我们希望很快就能解决这个问题!

    此致、

    Tarek D