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.

[参考译文] CC2640R2F:广播器远距离(不同时广播 advData 和 ScanRsp)数据

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1421443/cc2640r2f-advertiser-long-range-not-advertisement-data-both-advdata-and-scanrsp

器件型号:CC2640R2F

工具与软件:

您好!

我需要在1组数据中添加远距离 advData 和 scanrsp 数据。 而不是广播数据。

遵循代码

        // Use long range params to create long range set #2
        GapAdv_params_t advParamLongRange = GAPADV_PARAMS_AE_LONG_RANGE_CONN;
        advParamLongRange.eventProps = GAP_ADV_PROP_CONNECTABLE | GAP_ADV_PROP_SCANNABLE;

        // Create Advertisement set #2 and assign handle
        status = GapAdv_create(&SimpleSerialSocketServer_advCB, &advParamLongRange,
                               &advHandleLongRange);
        SimpleSerialSocketServer_ASSERT(status == SUCCESS);

        // Load advertising data for set #2 that is statically allocated by the app
        status = GapAdv_loadByHandle(advHandleLongRange, GAP_ADV_DATA_TYPE_SCAN_RSP,
                                     sizeof(advertData), advertData);
        SimpleSerialSocketServer_ASSERT(status == SUCCESS);

        // Load advertising data for set #2 that is statically allocated by the app
        status = GapAdv_loadByHandle(advHandleLongRange, GAP_ADV_DATA_TYPE_ADV,
                                     sizeof(ScanRsp), ScanRsp);
        SimpleSerialSocketServer_ASSERT(status == SUCCESS);

        // Set event mask for set #2
        status = GapAdv_setEventMask(advHandleLongRange,
                                     GAP_ADV_EVT_MASK_START_AFTER_ENABLE |
                                     GAP_ADV_EVT_MASK_END_AFTER_DISABLE |
                                     GAP_ADV_EVT_MASK_SET_TERMINATED);

        // Enable long range advertising for set #2
        status = GapAdv_enable(advHandleLongRange, GAP_ADV_ENABLE_OPTIONS_USE_MAX , 0);
        SimpleSerialSocketServer_ASSERT(status == SUCCESS);

设置中的 mainLongRange.eventProps  

GAP_ADV_PROP_CONNECTED | GAP_ADV_PROP_SCannable;
或者、广播远距离无法在1组广播中同时设置 advData 和 ScanRsp 数据。
此致、
Vasu
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Vasu、您好!

    感谢您的咨询。 根据蓝牙核心规范版本5.3 |第4卷、E 部分第7.8.53节:LE 设置扩展广播参数命令:"如果正在使用扩展广播 PDU 类型(位4 = 0)、则广播不应同时可连接和可扫描"、因此不可能两者都处于同一模式。 您可以具有可扫描广播(仅扫描响应)或可连接的广播(仅广播数据)。

    希望这对您有所帮助。

    David。

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

    尊敬的 David:

    感谢您的回答。

    此致、
    Vasu