关于SimpleBLEObserver监听时间的问题
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.