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.

CC2642R: 函数接口入参问题

Part Number: CC2642R

HCI_EXT_GetActiveConnInfoCmd( uint8 connId, hciActiveConnInfo_t *activeConnInfo )这个函数第一个入参connid我看注释是与主蓝牙连接的id此id我该如何获取?

  • 你好,

    在下述API列表中,可以查看

    HCI_EXT_GetConnInfoCmd

    函数

       它可以查看每个活动连接的连接ID

    https://software-dl.ti.com/lprf/sdg-latest/doxygen/ble/html/group___h_c_i.html

  • 这个是对这个函数入参的解释,我不清楚的是他这个ID我该怎么填,如果是从别处获取他的连接ID我该如何获取,如果是自己定义我如何自己定义,麻烦指导一下

  • 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 information
    
              bleConInfo.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));
          }

  • 谢谢,豁然开朗。