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:SimpleGattProfile_SetParameter 状态作为 blePending 返回

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

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1385512/cc2340r5-simplegattprofile_setparameter-status-returning-as-blepending

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

工具与软件:

您好!

目前我正在处理 basic_ble 外设配置文件项目。  在   从模块传输多个数据包后、尝试以 MTU 的大小(muty_value)连续将数据从模块发送到移动设备时、我们会遇到一个问题、我们将状态设置为  blePending。

发生此错误后、我们无法与该模块连接或配对、需要重启电源才能恢复。

Status = SimpleGattProfile_SetParameter (SIMPLEGATTPROFILE_CHAR4、MTU_VALUE 和 uartReadBuffer[SentDataLen]);  

下面是 在50毫秒内调用 SimpleGattProfile_SetParameter ()的间隔设置、并尝试了100,200毫秒、 连接间隔参数图像附在下面。

请帮助我们解决问题。

SDK 版本:simplelink_lowpower_f3_sdk_8_10_01_02 (外设)

CCS 版本:CCS 12.7.1

此致、

Vignesh。

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

    尊敬的 Vignesh:

    感谢您联系我们。 您是否可以尝试在 blePending 值开始显示后暂停器件执行? 器件是在 iCall_abort 还是在故障 ISR 中挂起? 在给定连接参数的情况下、我们可能会尝试以比可发送数据更快的速度使数据进入队列。 如果您修改了连接间隔、是否出现该行为?

    此致、

    1月

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

    您好、Jan:

    我已尝试修改 连接间隔仍然  出现 blePending。 如果    在从模块传输多个数据包后以 MTU 交换大小247 (MTU_VALUE)的大小连续将数据从模块发送到移动设备、我们将状态设为 blePending。

    在给每个数据包1秒的延迟后,我们随机面临一个 blePending 但模块不进入未知状态,当  20毫秒的时间间隔调用 SimpleGattProfile_SetParameter ()。 如果超过20毫秒的延迟模块与移动设备断开连接。

    让我们知道如何解决这个问题。

    此致、

    Vignesh。

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

    尊敬的 Vignesh:

    明白了。 感谢您的测试。 为了澄清、您看到 SimpleGattProfile_SetParameter ()返回了 blePending? 我认为不可能从这个函数返回 blePending。 GATT3019C37Fg()是否 App_Process 是返回 blePending 的? 如果是、那么您是否在下一个通知排队之前等待发送前一个通知?

    此致、

    1月

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

    HII Jan,

        我们发现 GATTSNC307FG()  App_Process 是返回 blePending 的一个。 我们正在等待退货状态成功发送下一个数据包以进行处理、但仍然获得 blePending 状态。

    您能否告诉我们处理多个数据包所需的最小等待时间是多少、并告诉我们 针对这种情况要设置的最佳连接间隔是多少?

    谢谢!

    Vignesh。

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

    尊敬的 Vignesh:

    最小等待时间将根据 BLE 参数、堆栈/堆可用性、当前任务活动等因素而变化 也就是说、在获得 BLE 挂起之前可以排队的数据包数量取决于 PDU 的最大数量和 PDU 大小。 您能否在 SysConfig 中尝试增加这些选项以查看行为是否受到影响? 我会首先将它们设置为最大值255、以便开始、稍后我们可以将该值降低到更合理的值。

    此致、

    1月

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

    您好、Jan:

       先前的内容  最大 PDU 数  默认值为5和 PDU 的最大大小  设置为255。

     我   现在已将 PDU 最大数量更改为255、PDU 最大大小更改为255在发送数据时、我们没有收到 BLE 挂起状态。

    现在、如果将  PDU 的最大数量设置为255、将来会遇到任何问题?

    谢谢!

    Vignesh。

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

    尊敬的 Vignesh:

    很高兴听到我们能够解决 blePending 问题。 我预计不会因为 PDU 的最大大小和最大数量非常大而出现任何问题。 它将增加可排队的可传输事件数量的队列、这在最坏情况下可能会增加堆的峰值大小。

    此致、

    1月