蓝牙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.手机搜索如下图 5.抓包截图如下 |