FR801HB白名单gap_set_wl设置不成功是什么原因



  • 我想通过白名单简单粗暴的过滤筛选可连接的设备,但是设置过地址后貌似gap_set_wl地址没成功,本地打印了一下gap_set_wl中的参数地址也是正确的,但是又看不到实际写进去没有,有无大佬答疑解惑一下。附上主要配置代码
    gap_mac_addr_t default_mac;
    uint8_t mac_bytes[6] = {0xFC, 0x84, 0x17, 0x31, 0xC7, 0xB0};
    //uint8_t mac_bytes[6] = {0xB0, 0xC7, 0x31, 0x17, 0x84, 0xFC};
    memcpy(default_mac.addr.addr, mac_bytes, 6);
    default_mac.addr_type = 0; // Public address
    gap_set_wl(&default_mac, 1);
    gap_adv_param_t adv_param;
    adv_param.adv_mode = GAP_ADV_MODE_UNDIRECT;
    adv_param.disc_mode = GAP_ADV_DISC_MODE_GEN_DISC;
    adv_param.adv_addr_type = GAP_ADDR_TYPE_PUBLIC;
    adv_param.adv_chnl_map = GAP_ADV_CHAN_ALL;
    adv_param.adv_filt_policy = GAP_ADV_ALLOW_SCAN_ANY_CON_WLST;
    adv_param.adv_intv_min = 160; // 200ms
    adv_param.adv_intv_max = 240; // 300ms
    gap_set_advertising_param(&adv_param);
    // Set broadcast data
    gap_set_advertising_data(adv_data, sizeof(adv_data));
    gap_set_advertising_rsp_data(scan_rsp_data, sizeof(scan_rsp_data));
    //Start broadcasting
    co_printf("Start broadcasting..\r\n");
    gap_start_advertising(0);



  • 0_1758011307304_451bdc4a-eee1-4ddf-9f7a-1e655bd32524-image.png

    看一下这个例程



  • 此回复已被删除!


  • @mars 这个也看过,但是这个好像是设备绑定之后自动把地址写入白名单,好像没有拦截策略,不可以直接用gap_set_wl去过滤吗大佬



  • 如果你不先连接一次你怎么知道要设置的白名单地址是什么呢



  • @mars 可能是我没说明白,就是app通过权限去获取手机蓝牙MAC,然后传给mcu,mcu再传给801,在801中直接将手机蓝牙的MAC写入白名单地址,达到过滤效果