Hi,
我们现在有好几个tag(900ms advertise),然后蓝牙应用是想要能够搜索到这些tag(我现在测试是外面放了4个tag)。然后我测试下下来一个scan轮询不能全部都搜到他们(有时候搜到3个有时候4个)。
如下是我对scan的配置
wiced_bt_ble_scan( BTM_BLE_SCAN_TYPE_HIGH_DUTY, 1, hci_control_le_scan_result_cback );
1. 如何能够有效的设置这些参数值,使得能够都搜到这些设备?
2. 如何只BTM_BLE_SCAN_TYPE_HIGH_DUTY(除了把duaration设置成0的方法)有什么方法吗?
3. 截图里的参数high和low的区别就只是时间上的区别吗?会影响频段吗?我的意思是high是在36,37,38三个频段上搜索的?low也是?
已解决! 转到解答。
1.可以尝试增加scan duration和scan window。
2. high duty scan结束之后,会产生一个event,可以在这个event中再次开启high duty scan。或者如你设置的一样,将low duty scan的scan参数也设置为high duty的值。
3. 只是时间上的区别,频段都一样的。
1.可以尝试增加scan duration和scan window。
2. high duty scan结束之后,会产生一个event,可以在这个event中再次开启high duty scan。或者如你设置的一样,将low duty scan的scan参数也设置为high duty的值。
3. 只是时间上的区别,频段都一样的。
2. 关于您说的“high duty scan结束之后,会产生一个event,可以在这个event中再次开启high duty scan”
您的意思是想重新scan的话,可以不需要等到 scan stop再开始scan?可以在scan的过程中(也就是scan high结束的时候再次开启)?正常的scan event应该是 high-low-stop
是的,正常的scan流程是high-low-stop。可以在high duty scan结束的event中,先停掉scan,然后重新开启high duty scan。