Observer讲解

发布时间 2023-09-05 18:04:18作者: SweetTea_lllpc

TGAP_DISC_SCAN_INT 是扫描间隔(默认16,单位0.625ms);

TGAP_DISC_SCAN_WIND 是扫描窗口(默认16,单位0.625ms);

TGAP_DISC_SCAN是扫描时长(默认16384,单位0.625ms)。主机扫描时达到扫描时长后会停止扫描。Observer和Central在达到扫描时长后又开启了扫描,所以表现一直都在扫描状态。

DEFAULT_MAX_SCAN_RES是最大扫描相应数量。

扫描时长已提供接口进行修改,如设置为100ms,同时扫描数量配置为20。则在100ms内最多可扫描20个设备。同时进行了过滤,所以搜索到的MAC地址是不相同的。扫描间隔和扫描窗口使用默认的即可,不需要修改。

理论配置:扫描时长 > 扫描间隔 > 扫描窗口。

void Observer_Init(){
    ......
    GAP_SetParamValue(TGAP_DISC_SCAN, 800);        //配置扫描时长为500ms
    GAP_SetParamValue(TGAP_DISC_SCAN_INT, 400);    //配置扫描间隔为250ms
    GAP_SetParamValue(TGAP_DISC_SCAN_WIND, 20);    //配置扫描窗口为12.5ms
}

如上配置,则有效扫描时长为12.5ms,并且会扫描2次,扫描完成即停止。