我现在用CC2640F128模块做蓝牙主机,用它扫描连接同样是CC2640F128的蓝牙从机。想通过对从机用特定的名称开头来识别区分,从而让主机开始配对的时候,优先去连接这个设备。如何做?
如何从扫描到的清单中读取到从设备的名称?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如果我理解正确的话,是指读出设备地址吗?扫描响应包里包含设备地址,你可以从那里获取
// Scan response data (max size = 31 bytes)
static uint8_t scanRspData[] =
{// complete name0x14,// length of this dataGAP_ADTYPE_LOCAL_NAME_COMPLETE,'S','i','m','p','l','e','B','L','E','P','e','r','i','p','h','e','r','a','l',// connection interval range0x05,// length of this dataGAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,LO_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),// 100msHI_UINT16(DEFAULT_DESIRED_MIN_CONN_INTERVAL),LO_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),// 1sHI_UINT16(DEFAULT_DESIRED_MAX_CONN_INTERVAL),// Tx power level0x02,// length of this dataGAP_ADTYPE_POWER_LEVEL,0// 0dBm
};
不,我要从蓝牙模块CC2640F128主机中读取清单中的设备名称,我根据特定名称开头,过滤掉不要连接的设备。就像手机去扫描的蓝牙的时候,会看到第一行设备名称如 SimpleBLEPeripheral,第二行SimpleBLEPeripheral01,第三行Xiaomi,第四行OYXX等到。我要和第四行配对,我就可以通过名称OY开头直接过滤掉前三行,直接和第四行配对。从gap.h中,地址类型、地址我都能看到,就是没找到设备名称存放的地方。不知道有没有一个具体地址,我可以通过行序列号读到改行对应的设备名称值。
明确您的需求,您可以BLE-Stack找到存放设备名称的地方
GGS_SetParameter(GGS_DEVICE_NAME_ATT, GAP_DEVICE_NAME_LEN, rxBuf);
您可以通过以下路径查看关于看门狗的示例程序:C:\ti\simplelink_cc2640r2_sdk_5_30_00_03__win\simplelink_cc2640r2_sdk_5_30_00_03\examples\rtos\CC2640R2_LAUNCHXL\drivers\watchdog