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.

[参考译文] CC2640R2多角色

Guru**** 2587365 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/576432/cc2640r2-multirole

大家好、

我是 CC2640R2 launchpad 和 SDK-v3.0的新用户。

我将在 CC2640R2 launchpad 中使用具有 SDK-v3.0的多角色应用。

多角色应用程序正在 CC2640R2 launchpad 上运行、因此我想将 CC2640R2 launchpad (多角色应用程序正在运行)与其他正在运行的 BLE 器件连接、并从该器件获取数据。

那么、我的问题是如何从 BLE 器件获取运行于多角色应用上的 CC2640R2 Launchpad 的特征值?

在这里、我可以获取 multi_role.c 文件中的实际特征值。

我们将感谢您的任何帮助。

谢谢

Mahesh

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

    您好、Mahesh、

    在 multi_role_processGATTDiscEvent()中,程序查找 Simple Service,如果找到 multi_role,则会发现特征并将其存储在 charHdl 中。

    如果您在内存中导航并执行读取请求,则调用 MR_doGattRw()并发送 一个 attReadReq_t

    //读取
    其他
    {
    //在 CSTACK 中创建读取 request...place
    attReadReq_t req;
    
    //填写读取请求
    REQ.Handle = discInfo[index].charHdl;
    
    //发送读取请求。 如果自请求后未成功、则无需免费
    //仅放置在 CSTACK 中;未分配
    状态= GATT_ReadCharValue (connHandleMap[index].connHandle、&req、self 实体);
    } 

    根据 BLE 规范、从器件将提供 ATT_READ_RSP 或 ATT_ERROR_RSP。 这些在 multi_role_processGATTMsg()中被挑选:

    //从连接句柄查找索引
    connIndex = multi_role_mapConnHandleToIndex (pMsg->connHandle);
    if ((pMsg->method =ATT_READ_RSP)||
    (((pMsg->method =ATT_ERROR_RSP)&&
    (pMsg->msg.errorRsp.reqOpcode =ATT_READ_REQ))
    {
    if (pMsg->method == ATT_ERROR_RSP)
    {
    Display_Print1 (dispHandle、MR_ROW_STATUS2、0、"Read Error %d"、pMsg->msg.errorRsp.errCode);
    }
    其他
    {
    //成功读取后,显示读取值
    Display_Print1 (dispHandle、MR_ROW_STATUS2、0、"Read rsp:%d、pMsg->msg.readRsp.pValue[0]);
    }
    
    } 

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

    我们如何在多角色模式下启用属性通知(我需要此功能、因为当其他 BLE 器件发送属性数据以便我可以在多角色器件中接收属性数据时)?

    我们是否可以使用 simpleProfile 代替 simpleProfile 来读取属性值?

    谢谢

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

    必须配置属性以启用通知。 每个属性都有一个 Client Characteristic Configuration (客户端特征配置)、主器件可以设置为1、以便"通知子 scibe "。 您可以在 Simplelink Academy 中阅读有关此内容的更多信息: software-dl.ti.com/.../ble_01_custom_profile.html

    如果要使用简单配置文件、特征4已经具有 GATT_PROP_NOTIFY 属性。

    您可以使用任何自定义配置文件而不是简单配置文件,例如将 GATT_DiscPrimaryServiceByUUUUUUUID()与您的自定义 UUID 一起使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的重播。

    我们如何在多角色的客户端模式下启用通知?

    谢谢

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

    作为广播器/从属器件/客户端的 multi_role 具有简单的配置文件、因此您可以在此配置文件中使用特征4。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mahesh、

    您还可以通过将 GATT_PROP_NOTIFY 添加到特性中来使用简单配置文件中的特征1、并且可以通过特征1本身进行读取和写入。

    此致、
    Abhishek Yakkundi

    如果您的问题得到了解答、请按下面的验证答案。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、 Abhishek、

    您能否在多角色应用程序中的哪个位置发送代码 spinet?

    谢谢

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

    您应该在 simpleProfile 中通知,然后可以在进程值更改事件函数的多角色中看到 simpleProfile 字符的任何更改。

    此致、
    Abhishek Yakkundi

    如果您的问题得到了解答、请按下面的验证答案。