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:如何从 simple_peripheral 示例断开器件

Guru**** 2539500 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/854091/cc2642r-how-to-disconnect-a-device-from-the-simple_peripheral-example

器件型号:CC2642R

您好!

我正在尝试使用 TI RTOS 使 CC2652芯片进入低功耗模式。 因此、我认为我需要关闭蓝牙广播并禁用任何活动的蓝牙连接。

我使用以下命令成功关闭了广播:

bStatus_t Result1 = GapAdv_disable (advHandleLongRange);
bStatus_t Result2 = GapAdv_disable (advHandleLegacy);

但是、我看不到如何断开客户端设备与 simple_peripheral 代码的连接。 我尝试了:

hciStatus_t Result3 = HCI_DisconnectCmd (self 实体、HCI_DISCONNECT_REMOTE DEV_POWER_OFF);

有什么想法吗? 结果返回代码全部成功。

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

    实际上、您无需禁用广播或断开 BLE 连接即可进入低功耗模式。 对于 BLE simple_peripheral 示例、该芯片将自动进入睡眠模式、并仅在需要进行广播或进行 BLE 连接时唤醒。

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

    Daniel、您好!

    要完成上一个答案,您需要考虑命令 GAP_TerminateLinkReq()

    您可以查看以下 处理 相同问题的线程。

    我希望这将有所帮助、

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

    谢谢。 我认为就是这样。 我尝试(首先)使用此代码但未成功:  

    bStatus_t Result3 = GAP_TerminateLinkReq (LINKDB_CONNHANDLE_ALL、HCI_DISCONNING_REMOTE_USER_TERM); 

    然后、我明确地设置连接句柄:

    bStatus_t Result3 = GAP_TerminateLinkReq (0x0000、HCI_DISCONNECT 远程用户术语); 
     

    这起作用了。 那么、特殊的 LINKDB_CONNNANDLE_ALL 是否不像我想象的那样工作?  

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

    您好!

    很高兴看到您可以找到解决方案。 现在、可以很好地查看是否有多个活动连接、并了解它为何不能与 LINKDB_CONNHANDLE_ALL 完全配合使用。

    BTW、我不知道 LINKDB_CONNNANDLE_ALL 有任何问题。 此宏在我们的 simple_peripheral 示例中使用、似乎可以完成该任务。

    此致、