TI中文支持网
TI专业的中文技术问题搜集分享网站

关于主机连接和搜索问题

技术你好,这个问题还是没有解决。再完善一下问题(iar830,cc2640r2f  simplelink_cc2640r2_sdk_1_40_00_45,multi_role例程):

第一:关于搜索到设备显示出设备名称,如手机搜索蓝牙设备,界面都会显示对应蓝牙设备的名称比如某型号手机,或某型号耳机字样,这个不就是根据搜索道德哪些设备都出来的吗?我去搜索scanRspData这个应答数组,但是全局只有在初始化时候用到这个数组,其他地方并没有用到。所以我还是不明白该如何通过他去得到主机搜索到的附近蓝牙从机设备名字(不是id)。

第二:关于主机连接到一个蓝牙从机后,在连接状态再次搜索,并不能继续搜索了。需要更改一下代码吗?主机不是可以同时连接多个从机吗?

Viki Shi:

我给板子下载了simple peripheral的例程,里面的扫描响应包定义之前代码发过,然后手机用ble scanner扫描,显示的设备名称就是simple peripheral,也就是代码里定义的这个

user4861312:

回复 Viki Shi:

我现在想串口打印出我扫描到的所有设备的名字,这个是调用那个函数你知道吗?串口只能打印出搜索的id。

关于主机连接到一个蓝牙从机后,在连接状态再次搜索,并不能继续搜索了。需要更改一下代码吗?主机不是可以同时连接多个从机吗?

Viki Shi:

回复 user4861312:

1、你要从扫描数据里提取出设备名称,然后给到串口,让其进行打印输出

2、 MAX_NUM_BLE_CONNS设置的多少?

user4861312:

回复 Viki Shi:

1:我提取这个结构体typedef struct
{osal_event_hdr_thdr;//!< @ref GAP_MSG_EVENT and statusuint8 opcode;//!< @ref GAP_DEVICE_INFO_EVENTuint8 eventType;//!< Advertisement Type: @ref GAP_Adv_Report_Typesuint8 addrType;//!< address type: @ref GAP_Addr_Typesuint8 addr[B_ADDR_LEN];//!< Address of the advertisement or SCAN_RSPint8 rssi;//!< Advertisement or SCAN_RSP RSSIuint8 dataLen;//!< Length (in bytes) of the data field (evtData)uint8 *pEvtData;//!< Data field of advertisement or SCAN_RSP
} gapDeviceInfoEvent_t;
uint8 *pEvtData;//!< Data field of advertisement or SCAN_RSP这个成员变量不知道是否就是搜索到的设备名称,但是我打印并没有数据的。

2:MAX_NUM_BLE_CONNS=4

user4861312:

回复 Viki Shi:

技术你的现象是对的,我把我的log截图,你能否看出我有什么问题呢?

我找到一个设备就调用连接函数连接上,之后我会再次搜索,就显示0设备了。

Viki Shi:

回复 user4861312:

用4.1版的例程试试

user4861312:

回复 Viki Shi:

再弄还要改很多东西,我在琢磨一下,谢啦技术
这个问题我提取这个结构体typedef struct
{
osal_event_hdr_t hdr; //!< @ref GAP_MSG_EVENT and status
uint8 opcode; //!< @ref GAP_DEVICE_INFO_EVENT
uint8 eventType; //!< Advertisement Type: @ref GAP_Adv_Report_Types
uint8 addrType; //!< address type: @ref GAP_Addr_Types
uint8 addr[B_ADDR_LEN]; //!< Address of the advertisement or SCAN_RSP
int8 rssi; //!< Advertisement or SCAN_RSP RSSI
uint8 dataLen; //!< Length (in bytes) of the data field (evtData)
uint8 *pEvtData; //!< Data field of advertisement or SCAN_RSP
} gapDeviceInfoEvent_t;
uint8 *pEvtData; //!< Data field of advertisement or SCAN_RSP这个成员变量不知道是否就是搜索到的设备名称,但是我打印并没有数据的。

user4861312:

回复 Viki Shi:

技术好像连接一个之后,需要执行一次更新的操作。应该是这样。

Viki Shi:

回复 user4861312:

没看懂什么意思,是指更新存储的设备名称?

赞(0)
未经允许不得转载:TI中文支持网 » 关于主机连接和搜索问题
分享到: 更多 (0)