TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2652R: CC2652

Part Number:CC2652R

cc2652设置双广播,连接后广播端怎样识别当前被连接的是哪个广播,如何获取

Katherine Wang:

已为您询问TI工程师,稍后会给您回复

,

Katherine Wang:

不太理解您说的双广播,请问您具体怎么用的?您使用哪个 SDK 版本以及哪个示例项目作为基础?

,

??? ?:

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 appGapAdv_loadByHandle(advHandle, GAP_ADV_DATA_TYPE_ADV,sizeof(advData1), advData1);// Load scan response data for set #1 that is statically allocated by the appGapAdv_loadByHandle(advHandle, GAP_ADV_DATA_TYPE_SCAN_RSP,sizeof(scanResData1), scanResData1);// Set event mask for set #1GapAdv_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 #1status = 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 appGapAdv_loadByHandle(advHandle1, GAP_ADV_DATA_TYPE_ADV,sizeof(advData2), advData2);// Load scan response data for set #1 that is statically allocated by the appGapAdv_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 Wang:

当 GAP 层传递事件时(即触发 multi_role_advCB 时),广告集的句柄在结构内传递。

这可以在开箱即用的 simple_peripheral 示例中看到,其中函数 SimplePeripheral_advCallback() 将由 SimplePeripheral_processAdvEvent 处理的事件 SP_ADV_EVT 入队。在SimplePeripheral_processAdvEvent()中可以看到正在显示的广告集的句柄。您可以使用相同的方法来检测哪个广告集正在触发 multi_role_advCB。

??? ? 说:当前被连接的是哪个广播,如果是多连接又该如何区分呢。

当广告集因连接而终止时,堆栈将触发 GAP_EVT_ADV_SET_TERMINATED。有效负载具有已终止的广告句柄以及连接句柄。如果广告由于连接而结束,那么您可以检查传入的连接句柄。如果它有效(即不是LL_INVALID_CONNECTION_ID),您将知道哪个连接终止了广告。在这种情况下,解析有效载荷也显示在 simple_peripheral 中。

赞(0)
未经允许不得转载:TI中文支持网 » CC2652R: CC2652
分享到: 更多 (0)