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.

[参考译文] CC2652R7:特性和指示

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1104726/cc2652r7-characteristics-and-indications

器件型号:CC2652R7

您好!

我将在项目中使用 simple_peripheral 示例。 我有几个问题。

1.我在 GATT 服务中添加了服务更改特性。 我还启用了 L2CAP 面向连接的信道、因此 不会定义 GATT_NO_SERVICE_CHANGEL_CHANGET。 我可以使用远程设备查看特征并启用指示、但使用 GAPBondMgr_ServiceChangeInd 发送时无法接收指示(0xFFFF、TRUE);

2.我在项目中使用的是 BLE 指示。 当我的指示被远程设备确认时,我将获得哪个 API 或回调?

此致、

Madhudhan

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

    大家好、 Madhusudhan、

    我建议参考 自定义配置文件 SLA 实验 、了解有关如何向外设项目添加服务的实践信息。 它提供了一些有关如何实施通知和指示的信息。

    要发送单个指示,可以使用 GATT_Inding() 函数。 链接的 API 指南提供了有关如何正确使用该函数以及相应事件的大量信息。

    此致、

    1月

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

    您好、Jan、

    1.我的问题不是关于添加自定义服务,而是问如何向远程设备发送服务更改指示。 现在我发现我可以使用 GATTServApp_SendServiceChangedInd (connHandle、self实体)发送。 请确认。

    2.我发现 在确认指示时会收到 ATT_Handle_Value_CFM 事件。 我的自定义服务中有多个指示特征。 如何找到该确认事件的指示?

    我还有一个问题。

    3.我正在使用 Task_construct,来创建一个新任务,当我想终止任务时,我正在使用 Task_exit。 是否还必须在 Task_exit 之后执行 Task_析 构?

    此致、

    Madhudhan

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

    大家好、 Madhusudhan、

    [引用 userid="518081" URL"~/support/wireless-connectivity/bluetooth-group/f/bluetooth-forum/1104726/cc2652r7-characterity-and-indings/4094109#4094109"]1. 我的问题不是关于添加自定义服务、而是问如何向远程设备发送服务更改指示。 现在我发现我可以使用 GATTServApp_SendServiceChangedInd (connHandle、self实体)发送。 请确认。

    GATTServApp_SendServiceChangedInd 的 API 文档 指出、函数调用确实会发出服务更改指示。 但是、如果要启用 GATT 服务更改功能、我建议参考  用户指南的通用属性配置文件服务(GATT 服务)部分。 它提供了有关如何启用该功能的说明。 我还建议参考 GAPBondMgr 和 Service Change Indication 以获取有关如何发送服务更改指示的另一组说明。

    [引用 userid="518081" URL"~/support/wireless-connectivity/bluetooth-group/f/bluetooth-forum/1104726/cc2652r7-characterity-and-indings/4094109#4094109"]2. 我发现 、当指示被确认时、我将获得 ATT_Handle_value_CFM 事件。 我的自定义服务中有多个指示特征。 如何找到确认事件的指示?

    蓝牙核心规范中详细介绍了发送指示和接收确认的过程、如下所示:

    如图所示、ATT_Handle_Value_CFM 事件不会发送识别数据。 客户端收到指示后、应在下一个连接事件中发回确认。

    [引用 userid="518081" URL"~/support/wireless-connectivity/bluetooth-group/f/bluetooth-forum/1104726/cc2652r7-characterity-and-indings/4094109#4094109"]3. 我正在使用 Task_con构 来创建一个新任务、当我想终止任务时、我正在使用 Task_exit。 是否还必须在 Task_exit 之后执行 Task_析 构?

    下面显示了所述函数的 API 说明:

    Task_construct

    Task_析 构函数 

    Task_exit

    根据 Task_exit 函数的说明、如果  要删除实例、似乎应该在之后调用 Task_析 构函数(或 Task_delete)。

    此致、

    1月