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.

[参考译文] CC2640R2F:多角色项目断开时间

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

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/600317/cc2640r2f-multi-role-project-disconnect-time

器件型号:CC2640R2F

您好!

因此、我在 CC2640R2F Launchpad 板上运行 multi_role 示例项目、并在广播时使用智能手机应用程序连接到该项目。

连接成功、我能够在手机上看到所有 GATT 特征。 但是、当我使用应用程序断开连接时、电话会立即断开连接、但我的 CC2640R2F 在收到 GAP_LINK_TERMINATED_EVENT 之前需要大约24秒。当我使用 SImplement 项目时、我看不到相同的行为;断开连接是瞬时的。 如何解决此问题?

谢谢、

Addarsh

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

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

    原因代码打印为0。

    我使用以下代码行将其打印在 GAP_LINK_TERMINATED_EVENT 转换案例中:

    Display_Print1 (dispHandle、MR_ROW_STATUS2、0、"断开连接的原因代码:%d"、pEvent->GAP.HDR.STATUS);

    这意味着什么?

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

    您好、Addarsh、

    您能否检查 gapTerminateLinkEvent_t 的原因字段而不是检查状态?  

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

    您好、Rachel、

    很抱歉。 以下是更新后的代码:

    Display_Print1 (dispHandle、MR_ROW_STATUS2、0、"断开连接的原因代码:%d"、pEvent->linkTerminate.reason);

    我得到的值为19。  

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

    如果您查看 SDK 安装 docs->blestack 文件夹中的 HCI 供应商特定指南、您将看到该原因代码(十六进制:0x13)对应于对等请求的终止、这正是您所做的。

    由于延迟、我希望看到原因代码8:Supervisor Timeout、当在给定的时间内未发生成功连接事件时发生。

    我现在还有几个问题:
    1.如何确定多角色应用程序接收 GAP_LINK_TERMINATED_EVENT 所需的时间?
    2.您是否有监听器捕获了正在发生的情况?
    3.电话和 LaunchPad 之间的唯一连接吗?
    4.您使用的是哪个 SDK?
    5.您是否对项目进行了任何更改?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rachel、

    以下是您的问题的答案:

    1.当我连接时,这是终端输出,如下所示:

    当我在智能手机应用程序中选择断开连接选项时、我会启动秒表并等待终端输出屏幕更改。

    当屏幕变为上图时、我停止秒表并测量时间。 在 GAP_LINK_TERMINATED_EVENT 中出现"已断开连接"打印、这就是我知道事件已收到的方式。

    2.不,我没有监听器。

    3.是的、我的手机和 Launchpad 之间只有1个连接。

    4.我使用 SDK 的版本1.35.00.33。

    不可以、我直接使用示例项目。

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

    您好、Addarsh、


    您能否 在 gapRole_processGAPMsg 中的 GAP_LINK_TERMINATED_EVENT 中的 multi.c 中放入断点、并查看从电话断开断点后到达该断点所需的时间?

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

    您好、Rachel、

    正如我在上一篇文章中提到的、当发生 GAP_LINK_TERMINATED_EVENT 时、会触发打印"已断开连接"。 这应该是对时间的良好测量、因为我们仅以秒为单位进行计数。

    我还尝试了断点方法、但仍然得到相同的结果。

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

    断点测试的重点是确保 UART 输出中没有延迟。 多角色和简单外设之间的连接参数存在差异、但不足以导致报告的延迟量。

    您能给我一些有关您正在使用的移动设备/应用程序的信息吗? 我可以尝试在我的末尾重现此内容

    您是否碰巧有另一个 LaunchPad? 如果是、您可以使用 BTool 作为主设备、它将为您提供有关连接的更多信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rachel、

    我进行了一些实验、发现只有当我使用应用连接到运行 Launchpad 的 multi_role 代码时、才会发生这种情况。

    当我使用另一个 LaunchPad 作为客户端(而不是应用程序)时、没有问题、两侧的断开连接都是瞬时的。

    我使用的应用程序是 Android 智能手机上的 NRF 连接应用程序。

    希望这对您有所帮助。

    谢谢、

    Addarsh