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.

[参考译文] CC2652R:CC2652

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1179695/cc2652r-cc2652

器件型号:CC2652R

大家好、

我在 cc2652上设置了双广播。 接通后、您能告诉我广播终端如何识别 正在连接的广播、以及如何获取?

此致、

凯瑟琳

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

    嘿、Katherine、

    您能在此处澄清一下用例吗? 设置"双广播"是什么意思? 您将哪个 SDK 版本和示例项目用作基础?

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

    您好、Ammar、

    simplelink_cc13x2_26x2_sdk_5_20_00_52_ rtls_demo_patch_v1_0_1,

     GapAdv_create(&multi_role_advCB, &advParams1,
                    &advHandle);
    
      // Load advertising data for set #1 that is statically allocated by the app
      GapAdv_loadByHandle(advHandle, GAP_ADV_DATA_TYPE_ADV,
                          sizeof(advData1), advData1);
    
      // Load scan response data for set #1 that is statically allocated by the app
      GapAdv_loadByHandle(advHandle, GAP_ADV_DATA_TYPE_SCAN_RSP,
                          sizeof(scanResData1), scanResData1);
    
      // Set event mask for set #1
      GapAdv_setEventMask(advHandle,
                          GAP_ADV_EVT_MASK_START_AFTER_ENABLE |
                          GAP_ADV_EVT_MASK_END_AFTER_DISABLE |
                          GAP_ADV_EVT_MASK_SET_TERMINATED);
    
      BLE_LOG_INT_TIME(0, BLE_LOG_MODULE_APP, "APP : ---- GapAdv_enable", 0);
      // Enable legacy advertising for set #1
      status = GapAdv_enable(advHandle, GAP_ADV_ENABLE_OPTIONS_USE_MAX , 0);
      
      
      
      
      
       GapAdv_create(&multi_role_advCB, &advParams2,
                    &advHandle1);
    
      // Load advertising data for set #1 that is statically allocated by the app
      GapAdv_loadByHandle(advHandle1, GAP_ADV_DATA_TYPE_ADV,
                          sizeof(advData2), advData2);
    
      // Load scan response data for set #1 that is statically allocated by the app
      GapAdv_loadByHandle(advHandle, GAP_ADV_DATA_TYPE_SCAN_RSP,
                          sizeof(scanResData2), scanResData2);
    
      GapAdv_setEventMask(advHandle1,
                          GAP_ADV_EVT_MASK_START_AFTER_ENABLE |
                          GAP_ADV_EVT_MASK_END_AFTER_DISABLE |
                          GAP_ADV_EVT_MASK_SET_TERMINATED);
    
      BLE_LOG_INT_TIME(0, BLE_LOG_MODULE_APP, "APP : ---- GapAdv_enable", 0);
    
      status = GapAdv_enable(advHandle1, GAP_ADV_ENABLE_OPTIONS_USE_MAX , 0);

    根据客户的说法、以这种方式开始两次广播。 连接广播后 、客户如何从广播端确定连接了哪个广播、 如果  有多个连接、客户如何区分其中一个?

    此致、

    凯瑟琳

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

    嘿、Katherine、

    当一个事件被 GAP 层传递时(即当 multi_role_advCB 被触发时)、广播集的句柄在结构内传递。

    这可以在开箱即用的 simple_peripheral 示例中看到,其中函数 SimplePeripheral_advCallback()对由 SimplePeripheral_processAdvEvent 处理的事件 SP_ADV_EVT 进行排队。 在 SimplePeripheral_processAdvEvent()中,您可以看到正在显示的广播集的句柄。 您可以使用相同的技术来评估触发 multi_role_advCB 的广播集。

    [引用 userid="543421" URL"~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1179695/cc2652r-cc2652/4443548 #4443548"]正在连接哪个广播, 如果  有多个连接,客户如何区分其中一个广播?

    当广播集因连接而终止时、 堆栈将触发 GAP_EVT_ADV_SET_TERMINATED。 有效载荷具有已终止的广播句柄以及连接句柄。 如果广播因连接而结束、则您将检查传入的连接句柄。 如果它有效(即不是,LL_INVALID_CONNECT_ID),您将知道哪个连接终止了广播。 在本例中、分析有效负载也显示在 simple_peripheral 中。