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.

[参考译文] CC2642R-Q1:在保持 blePending 状态后卡在 GATT_Indication ()中

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1428064/cc2642r-q1-stuck-in-gatt_indication-after-stays-in-blepending-status

器件型号:CC2642R-Q1

工具与软件:

嗨、团队:

对于我的客户来说、这是一个紧急情况、请将其视为最高优先级。

器件:CC2642

环境:SDK 7.40.0.77

问题描述:

  当另一个任务提供数据和数据长度不为0时,客户使用 SimpleLink F3 SDK 的 DATA_STREAM 演示中的 DSS_sendNotification ()副本向任务中的手机发送指示。  

 函数的更改仅是 GATT_Notification ()进入 GATT_Indication ()。  此问题可通过连接断开应力测试重现、重现至少需要30分钟。

有两种情况:

  1. 卡在 GATT_DIRECTION()中
    我们发现 GATT_INDICATION()没有返回状态、这会导致后果过程未执行、ADV_IND 无法按预期重新加载、从而导致终端客户无法连接汽车。
  2. 状态始终为 blePending、在我们通过对等器件断开连接之后、  bleNotConnected 该函数不会返回
    这使我们无法完全理解 while () .

我们所做的工作和其他信息:

1. 我们已经添加了看门狗以避免卡在任务中并重置器件、但我们仍需要找到根本原因。

2.当问题再次出现时、其他用户任务也在运行。

3. 因为我们还有 iBeacon、所以我们可以 通过 iBeacon 将 CC2642与 LightBlue 应用相连、从而解决问题。

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

    AE 已经提供了一个解决方案来在 while ()中添加 linkDB_find()、如下所示:

           while (status!= bleTimeout && status!= bleNotConnected && len > offset &&(linkDB_find (connHandle)!= NULL)

    我们尝试过,在 BLEAPPUTIL_LINK_ESTABED_EVENT 出现后,代码将卡在 linkDB_find()中。

    无论输入参数是0 (因为只允许一个连接)还是 pItem->connHandle、都已100%重新生成。