You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BlueZ中le_set_scan_parameters_cp结构体各字段的含义是什么?

typedef struct {
    uint8_t     type;
    uint16_t    interval;
    uint16_t    window;
    uint8_t     own_bdaddr_type;
    uint8_t     filter;
} __attribute__ ((packed)) le_set_scan_parameters_cp;

该结构体是BlueZ中对应BLE LE Set Scan Parameters HCI命令的入参结构体,用于配置BLE扫描的核心参数,各字段含义如下:

  • type:BLE扫描类型,可选值为0x00(被动扫描,仅监听广播包不发送扫描请求)、0x01(主动扫描,监听到可扫描广播后会主动发送SCAN_REQ请求获取额外广播数据)
  • interval:扫描间隔,单位为0.625ms,取值范围0x0004(2.5ms)~0x4000(10240ms),代表两次连续扫描启动的时间间隔。数值越大扫描频率越低、功耗越低,但漏检广播包的概率越高。
  • window:扫描窗口,单位同样为0.625ms,取值范围0x0004(2.5ms)~0x4000(10240ms),代表每个扫描周期间内实际用于监听射频通道的时长,必须小于等于interval的数值。window越接近interval说明扫描占空比越高,发现设备的速度越快,功耗也越高。例如interval设为100ms、window设为50ms时,每100ms周期内有50ms处于扫描状态,功耗占空比为50%。
  • own_bdaddr_type:本机蓝牙地址类型,可选值包括0x00(公有地址)、0x01(随机静态地址)、0x02(可解析私有地址)、0x03(不可解析私有地址)
  • filter:扫描过滤策略,用于配置是否过滤陌生设备的广播包,可选值如下:
    • 0x00:接受所有广播包,不根据广播地址过滤
    • 0x01:仅接受白名单内设备发送的广播包
    • 0x02:接受所有广播包,仅对来自白名单设备的定向广播包返回响应
    • 0x03:仅接受白名单内设备的广播包,且仅对来自白名单设备的定向广播包返回响应

所有参数的定义均可参考蓝牙核心规范4.0及以上版本的「Volume 2, Part E, 7.8.10 LE Set Scan Parameters command」章节,BlueZ的结构体字段完全对齐该命令的协议参数定义实现。

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:06:05