scan的问题

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
YaTr_3516311
Level 5
Level 5
25 sign-ins First solution authored 100 replies posted

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 );

pastedImage_0.png

1. 如何能够有效的设置这些参数值,使得能够都搜到这些设备?

2. 如何只BTM_BLE_SCAN_TYPE_HIGH_DUTY(除了把duaration设置成0的方法)有什么方法吗?

3. 截图里的参数high和low的区别就只是时间上的区别吗?会影响频段吗?我的意思是high是在36,37,38三个频段上搜索的?low也是?

0 点赞
1 解答
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

1.可以尝试增加scan duration和scan window。

2. high duty scan结束之后,会产生一个event,可以在这个event中再次开启high duty scan。或者如你设置的一样,将low duty scan的scan参数也设置为high duty的值。

3. 只是时间上的区别,频段都一样的。

在原帖中查看解决方案

0 点赞
3 回复数
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

1.可以尝试增加scan duration和scan window。

2. high duty scan结束之后,会产生一个event,可以在这个event中再次开启high duty scan。或者如你设置的一样,将low duty scan的scan参数也设置为high duty的值。

3. 只是时间上的区别,频段都一样的。

0 点赞

2. 关于您说的“high duty scan结束之后,会产生一个event,可以在这个event中再次开启high duty scan

您的意思是想重新scan的话,可以不需要等到 scan stop再开始scan?可以在scan的过程中(也就是scan high结束的时候再次开启)?正常的scan event应该是 high-low-stop

0 点赞
Owen_Zhang123
Moderator
Moderator
Moderator
5 questions asked 500 solutions authored 250 sign-ins

是的,正常的scan流程是high-low-stop。可以在high duty scan结束的event中,先停掉scan,然后重新开启high duty scan。

0 点赞