BLE 扩展广播包500K和125K

eddy wen · 296次点击 · 9个月前

蓝牙5除硬件支持1M,2M PHY,还支持两种编码方式的PHY,这两种编码方式的PHY是基于1M PHY的基础,使用1M PHY的物理通道。新的编码分为两种,一种编码PHY为500kbps(S=2),另外一种编码PHY是125kbps(S=8)

需要搜索到125K或者500K需要手机是蓝牙5.0以上的版本

具体代码参考设置如下:

1.在main.c配置125K和500K

#ifdef BLE_ADV_EXTENDED
    sc.coded_phy_500k = true;//false: 125kbps, true: 500kbps

#endif

2.在app_adv.c 中的appm_adv_create_advertising函数里面修改如下配置

#ifdef BLE_ADV_EXTENDED
        p_cmd->adv_param.prim_cfg.chnl_map = APP_ADV_CHMAP;
        p_cmd->adv_param.prim_cfg.phy = GAPM_PHY_TYPE_LE_CODED;
        p_cmd->adv_param.second_cfg.max_skip = 0;
        p_cmd->adv_param.second_cfg.phy = GAPM_PHY_TYPE_LE_CODED;
        p_cmd->adv_param.second_cfg.adv_sid = 0;

#endif

3.在app.c中的appm_advertising_init函数里面修改如下配置,EXT_ADV_DATA_MAX_LEN这最大定义是254

#ifdef BLE_ADV_EXTENDED
    uint8_t default_adv_data[EXT_ADV_DATA_MAX_LEN - 3];
    uint16_t adv_len = 0;
    appm_build_adv_data(EXT_ADV_DATA_MAX_LEN - 3, &adv_len, (uint8_t*)default_adv_data);
    appm_adv_set_adv_data((uint8_t*)default_adv_data, adv_len);
 #endif

4.手机搜索如下图

image.png

5.抓包截图如下

image.png











ble_app_simple_server_125_500K-202308154130.rar
被收藏 0  ∙  0 赞  
加入收藏
点赞
2 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站