大家好、
我在 cc2652上设置了双广播。 接通后、您能告诉我广播终端如何识别 正在连接的广播、以及如何获取?
此致、
凯瑟琳
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.
大家好、
我在 cc2652上设置了双广播。 接通后、您能告诉我广播终端如何识别 正在连接的广播、以及如何获取?
此致、
凯瑟琳
您好、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 中。