ble连接过程建立_CC2540 - BLE4.0蓝牙center与peripheral建立连接绑定过程

蓝牙主机从机建立连接绑定过程

center与simplePeripheral建立连接过程

center首先进行osal_init_system()初始化各个任务,SimpleBLECentral_Init->osal_set_event( simpleBLETaskId,

START_DEVICE_EVT );进入SimpleBLECentral_ProcessEvent()

调用

VOID

GAPCentralRole_StartDevice( (gapCentralRoleCB_t *)

&simpleBLERoleCB );//当初始化完成,会发送 GAP_DEVICE_INIT_DONE_EVENT由于注册了simpleBLERoleCB函数,因此发送的event由simpleBLERoleCB函数接收static

void simpleBLECentralEventCB(

gapCentralRoleEvent_t *pEvent )此时pEvent->gap.opcode =GAP_DEVICE_INIT_DONE_EVENT,相应信息存储于pEvent中

typedef

union

{

gapEventHdr_t gap; //!< GAP_MSG_EVENT and status.

gapDeviceInitDoneEvent_t initDone; //!< GAP initialization done.

gapDeviceInfoEvent_t deviceInfo; //!< Discovery device information event structure.

gapDevDiscEvent_t discCmpl; //!< Discovery complete event structure.

gapEstLinkReqEvent_t linkCmpl; //!< Link complete event structure.

gapLinkUpdateEvent_t linkUpdate; //!< Link update event structure.

gapTerminateLinkEvent_t linkTerminate; //!< Link terminated event structure.

}

gapCentralRoleEvent_t;

联合体,只有deviceInfo里面的数据是正确的

typedef

struct

{

osal_event_hdr_t hdr; //!< GAP_MSG_EVENT and status

uint8

opcode; //!<

GAP_DEVICE_INIT_DONE_EVENT

uint8

devAddr[B_ADDR_LEN]; //!< Device's BD_ADDR

uint16

dataPktLen; //!<

HC_LE_Data_Packet_Length</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值