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.

[参考译文] CC2652RB:如何作为外设触发断开连接?

Guru**** 2552210 points
Other Parts Discussed in Thread: CC2652RB, CC2541

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/981649/cc2652rb-how-to-trigger-a-disconnection-as-a-peripheral

器件型号:CC2652RB
主题中讨论的其他器件: CC2541

CC2652RB 项目基于 SimplePeripheral 示例、使用 SDK 4.20.01.04。

如何强制蓝牙断开连接?  我们以前有一个使用 CC2541的项目,该 SDK 有一个可以调用的 GAPRole_TerminateConnection()函数。  我正在为 CC2652RB 寻找类似的器件。  我找到了 GAP_TerminateLinkReq(),但它需要 connectionHandle 和 Reason 参数,我必须跟踪其值。  我应该使用的是这种方法、还是正确地从外设侧发起断开连接的最佳方法?

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

    是的、GAP_TerminateLinkReq 是终止连接的正确 API。

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

    Chris、

    黄陈正确。 请参阅 迁移指南

    -Luis

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

    我尝试调用 GAP_TerminateLinkReq (LINKDB_CONNNANDLE_ALL、LL_HOST_Requested_Term);但连接仍然存在。  是否需要其他设置?

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

    尊敬的 Chris:

    我认为这应该是正确的 API 调用。 我建议查看 低功耗蓝牙连接 SLA 实验室。  本实验介绍如何使用 GAP API 来修改连接。 本实验专门介绍如何从外设侧更新连接参数、但导致与外设侧断开连接的过程非常相似。 如果您遇到任何问题、请告知我们。

    此致、

    1月

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

    尝试以下代码

    uint8_t i;
    对于(I = 0;I < MAX_NUM_BLE_CONNS;I++)
    {
    //对于现有连接,终止链接。
    if (connList[i]。connHandle!= 0xFFFF)
    {
    GAP_TerminateLinkReq (connList[I].connHandle、HCI_DISCONNING_REMOTE_USER_TERM);
    
    log_info0 ("正在终止连接。");
    }
    }
    

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

    如果我只更改 第二 个参数、您的代码就会起作用、我的代码也会起作用:

    GAP_TerminateLinkReq (LINKDB_CONNNANDLE_ALL、HCI_DISCONNING_REMOTE_USER_TERM); 

    我假设它是单独使用连接句柄的修正值,但显然 GAP_TerminateLinkReq()不像 LL_HOST_Requested_Term 参数。  我在最初查看时只找到了 LL、并不清楚"主机"和"对等"指的是什么。  我假设我要在我的末尾端终止它、这将是本地主机、而连接的另一端将是对等端、但我猜这是不对的?