微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于SimpleBLEObserver监听时间的问题

关于SimpleBLEObserver监听时间的问题

时间:10-02 整理:3721RD 点击:

hi, TI experts:

请教一个关于SimpleBLEObserver监听时间的问题:

在SimpleBLEObserver项目中,按下joystick的UP键(HAL_KEY_UP)开始监听(discovery),一段时间后,不管有没有找到附近的设备,都返回GAP_DEVICE_DISCOVERY_EVENT的event,此时dicovery就结束了。

那么可不可以控制discovery的时间长度,或者使其一直处于discovery的状态呢?

谢谢。

CN,

你不要去调用GAPObserverRole_StartDiscovery(),

而是直接去hci.h中的 HCI_LE_SetScanEnableCmd(), 然后自己启动一个timer,配置你自己想要的扫描时间,时间到了后在调用 HCI_LE_SetScanEnableCmd() 关闭扫描。

YAN

如果扫描到附件的设备,返回的也是GAP_DEVICE_DISCOVERY_EVENT吗?

哪里可以找到HCI_LE_SetScanEnableCmd()详细的说明?

thanks

还有一种方法就是在GAP_DEVICE_DISCOVERY_EVENT事件继续调用GAPObserverRole_StartDiscovery()函数

……

case GAP_DEVICE_DISCOVERY_EVENT:
{
// discovery complete

……


//继续开始主动扫描
GAPObserverRole_StartDiscovery( DEFAULT_DISCOVERY_MODE,
DEFAULT_DISCOVERY_ACTIVE_SCAN,
DEFAULT_DISCOVERY_WHITE_LIST ); 

……

}
break;

……

这种方式就可以持续监听广播了

CN,

查找到设备返回的是GAP_DEVICE_INFO_EVENT。

GAP_DEVICE_DISCOVERY_EVENT代表查找设备结束。

HCI_LE_SetScanEnableCmd() 说明你可以在hci.h中看一下。如果有兴趣,可以去看一下蓝牙的spec.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top