CC2640R2F 如何使用例程 simplelink_cc2640r2_sdk_5_30_00_03\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_broadcaster 收发 extended advertising
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 如何使用例程 simplelink_cc2640r2_sdk_5_30_00_03\examples\rtos\CC2640R2_LAUNCHXL\ble5stack\simple_broadcaster 收发 extended advertising
你好,
以下部分将介绍如何使用 LE Advertising Extension 功能,建议您从GAP ROLES往下阅读
Extended advertisements introduces use the secondary advertising channels which uses the data channels to send extensive data in addition to the primary advertising channels (Ch. 37, 38, and 39) used in legacy advertisement. 扩展广播发送的是二级PHY, legacy 广播是 37-39通道
SDK 3.1 ble5_simple_peripheral_cc2640r2lp_app 例程创建了两个广播集GAPADV_PARAMS_LEGACY_SCANN_CONN 和 GAPADV_PARAMS_AE_LONG_RANGE_CONN
问:这里 long range 广播就是extended 广播吗? 为什么 广播通道也设置的是primChanMap = GAP_ADV_CHAN_ALL(37-39)
我重修改 LONG RANGE 模式下的广播数据
static uint8_t advertDatalong[60] =
{
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10
};
// Use long range params to create long range set #2
GapAdv_params_t advParamLongRange = GAPADV_PARAMS_AE_LONG_RANGE_CONN;
// Create Advertisement set #2 and assign handle
status = GapAdv_create(&SimplePeripheral_advCallback, &advParamLongRange,
&advHandleLongRange);
SIMPLEPERIPHERAL_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,
60, advertDatalong);
SIMPLEPERIPHERAL_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);
SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
Display_printf(dispHandle, SP_ROW_IDA, 0, "%s Addr: %s",
(addrMode <= ADDRMODE_RANDOM) ? "Dev" : "ID",
Util_convertBdAddr2Str(pPkt->devAddr));
另外我用另外一块cc2640r2f板子烧写了sdk ble5_simple_central_cc2640r2lp_app;没有收到相关广播
能否给个参考
已经使用了5.30 最高版本。你给出的参考连接并没有解决问题。我现在使用的是5.3的SDK
Extended advertisements introduces use the secondary advertising channels which uses the data channels to send extensive data in addition to the primary advertising channels (Ch. 37, 38, and 39) used in legacy advertisement. 扩展广播发送的是二级PHY, legacy 广播是 37-39通道
ADV_EXT_IND PDU 在 例程中无法设定
SDK 5.3 ble5_simple_peripheral_cc2640r2lp_app 例程创建了两个广播集GAPADV_PARAMS_LEGACY_SCANN_CONN 和 GAPADV_PARAMS_AE_LONG_RANGE_CONN
问:这里 long range 广播就是extended 广播吗? 为什么 广播通道也设置的是primChanMap = GAP_ADV_CHAN_ALL(37-39)
我重修改 LONG RANGE 模式下的广播数据
static uint8_t advertDatalong[60] =
{
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10,
1,2,3,4,5,6,7,8,9,10
};
// Use long range params to create long range set #2
GapAdv_params_t advParamLongRange = GAPADV_PARAMS_AE_LONG_RANGE_CONN;
// Create Advertisement set #2 and assign handle
status = GapAdv_create(&SimplePeripheral_advCallback, &advParamLongRange,
&advHandleLongRange);
SIMPLEPERIPHERAL_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,
60, advertDatalong);
SIMPLEPERIPHERAL_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);
SIMPLEPERIPHERAL_ASSERT(status == SUCCESS);
Display_printf(dispHandle, SP_ROW_IDA, 0, "%s Addr: %s",
(addrMode <= ADDRMODE_RANDOM) ? "Dev" : "ID",
Util_convertBdAddr2Str(pPkt->devAddr));
另外我用另外一块cc2640r2f板子烧写了sdk ble5_simple_central_cc2640r2lp_app;没有收到相关广播
能否给个配置 extended 广播参考
long range 广播就是extended 广播
1.Long Range是BLE 5.0 新增加的特性,能够增加蓝牙的通信距离
2.广告扩展能够将广告数据从三个传统广告通道卸载到全套数据通道。即,以前只能在37/38/39信道上做广播,但现在可以在其他0-36的信道上同样发广播
ADV_EXT_IND PDU 在 例程中无法设定
将primPhy设置成1M和LE CODE,才可以将广播转换成ADV_EXT_IND
没有例程,可以参考一下acadamic