Part Number:CC2642R
HCI_EXT_GetActiveConnInfoCmd( uint8 connId, hciActiveConnInfo_t *activeConnInfo )这个函数第一个入参connid我看注释是与主蓝牙连接的id此id我该如何获取?
Galaxy Yue:
你好,
在下述API列表中,可以查看
HCI_EXT_GetConnInfoCmd
函数
它可以查看每个活动连接的连接ID
https://software-dl.ti.com/lprf/sdg-latest/doxygen/ble/html/group___h_c_i.html
,
sun xiaohu:
这个是对这个函数入参的解释,我不清楚的是他这个ID我该怎么填,如果是从别处获取他的连接ID我该如何获取,如果是自己定义我如何自己定义,麻烦指导一下
,
Galaxy Yue:
1. 你发的 HCI_EXT_GetActiveConnInfoCmd 此 API 用于获取使用 BLE 连接监视器跟踪目标连接所需的连接相关信息。
2. 我发的 HCI_EXT_GetConnInfoCmd 该API用于获取连接相关信息,包括已分配的连接数、活动连接数以及每个活动连接的连接ID、连接角色(Master或Slave)、对等地址和对等地址类型。分配的连接数基于默认构建值,可以使用 MAX_NUM_BLE_CONNS 更改该值。活动连接数是指活动的 BLE 连接数。
3.相关操作码
#define
HCI_EXT_GET_ACTIVE_CONNECTION_INFO 0xFC24
有define了
4.如果你要获取连接ID,可以在任务或者事件中调用函数,然后通过串口显示出来
比如在一个事件或者任务中调用API然后发送到monitor(举例)
事件 GAP_LINK_ESTABLISHED_EVENT 产生时,使用 API ( HCI_EXT_GetActiveConnInfoCmd)获取相关参数并通过 UART 发送到 CONNECTION MONITOR(CC2642R)。
hciActiveConnInfo_t activeConnInfo;if (LL_STATUS_SUCCESS == HCI_EXT_GetActiveConnInfoCmd(pPkt->connectionHandle, &activeConnInfo )){bleConnInfo_t bleConInfo;user_uart_printf("INFO:", strlen("INFO:"));/// @brief BLE Connection informationbleConInfo.connHandle = pPkt->connectionHandle;bleConInfo.accessAddr = activeConnInfo.accessAddr;bleConInfo.connRole = 8;// 4为从机bleConInfo.connInterval = activeConnInfo.connInterval;bleConInfo.hopValue = activeConnInfo.hopValue;bleConInfo.cSCA = activeConnInfo.mSCA;bleConInfo.currChan = activeConnInfo.nextChan;memcpy(bleConInfo.chanMap, activeConnInfo.chanMap,5);bleConInfo.crcInit = activeConnInfo.crcInit;memcpy(bleConInfo.addr, pPkt->devAddr, B_ADDR_LEN);user_uart_printf(&bleConInfo,sizeof(bleConnInfo_t));}
,
sun xiaohu:
谢谢,豁然开朗。
,
Galaxy Yue:
不用客气