大家好!
我想实现:主机上电,扫描到(正在广播)的从机后,不连接,直接读出从机的RSSI值,并且移动从机,RSSI值可以改变。请问如何实现?谢谢!
ps:
1、我使用的是1.3版本的协议栈,可以实现主从连接后读取移动中的RSSI值。
2、我现在实现的是:主机上电,自动扫描到(正在广播)的从机后,不连接,直接读出从机的RSSI值;但是移动从机,RSSI值不改变。
修改的是 simpleBLECentral 工程里的 simpleBLECentralEventCB 函数中的
case GAP_DEVICE_INFO_EVENT:
{
// if filtering device discovery results based on service UUID
if ( DEFAULT_DEV_DISC_BY_SVC_UUID == TRUE )
{
if ( simpleBLEFindSvcUuid( SIMPLEPROFILE_SERV_UUID,
pEvent->deviceInfo.pEvtData,
pEvent->deviceInfo.dataLen ) )
{
simpleBLEAddDeviceInfo( pEvent->deviceInfo.addr, pEvent->deviceInfo.addrType );
//不连接,扫描后,自动读取从机的RSSI
int8 newRSSI = -(pEvent->deviceInfo.rssi);
LCD_WRITE_STRING_VALUE("RSSI -dB:",(uint8)(newRSSI),10,HAL_LCD_LINE_1);
}
}
}
break;
da qin zheng sheng:
不知道ble协议允许这样做不?
CQ JiMi:
回复 da qin zheng sheng:
这样好像可以,但是这个结构体里面有Rssi的值吗