Connection Handle

来源:互联网 发布:华中科技大学网络 编辑:程序博客网 时间:2024/06/05 17:41
typedef struct{  osal_event_hdr_t  hdr;     //!< GAP_MSG_EVENT and status  uint8 opcode;              //!< GAP_LINK_ESTABLISHED_EVENT  uint8 devAddrType;         //!< Device address type: @ref GAP_ADDR_TYPE_DEFINES  uint8 devAddr[B_ADDR_LEN]; //!< Device address of link  uint16 connectionHandle;   //!< Connection Handle from controller used to ref the device  uint16 connInterval;       //!< Connection Interval  uint16 connLatency;        //!< Conenction Latency  uint16 connTimeout;        //!< Connection Timeout  uint8 clockAccuracy;       //!< Clock Accuracy} gapEstLinkReqEvent_t;

simpleBLECentralEventCB

1、获取 Connection Handle

case GAP_LINK_ESTABLISHED_EVENT:      {        if ( pEvent->gap.hdr.status == SUCCESS )        {                    simpleBLEState = BLE_STATE_CONNECTED;          simpleBLEConnHandle = pEvent->linkCmpl.connectionHandle;          simpleBLEProcedureInProgress = TRUE;              // If service discovery not performed initiate service discovery          if ( simpleBLECharHdl == 0 )          {            osal_start_timerEx( simpleBLETaskId, START_DISCOVERY_EVT, DEFAULT_SVC_DISCOVERY_DELAY );          }          LCD_WRITE_STRING( "Connected", HAL_LCD_LINE_1 );          LCD_WRITE_STRING( bdAddr2Str( pEvent->linkCmpl.devAddr ), HAL_LCD_LINE_2 );           }        else        {          simpleBLEState = BLE_STATE_IDLE;          simpleBLEConnHandle = GAP_CONNHANDLE_INIT;          simpleBLERssi = FALSE;          simpleBLEDiscState = BLE_DISC_STATE_IDLE;          LCD_WRITE_STRING( "Connect Failed", HAL_LCD_LINE_1 );          LCD_WRITE_STRING_VALUE( "Reason:", pEvent->gap.hdr.status, 10, HAL_LCD_LINE_2 );        }      }      break;

2、获取 Connection Handle

//!< Connection Handle. Read Only. Size is uint16.#define GAPROLE_CONNHANDLE          0x30E //eg: GAPRole_GetParameter( GAPROLE_CONNHANDLE, &gapConnHandle );
0 0
原创粉丝点击