CC2540 simpleBLECharHdl CharHdl 数组的作用。
时间:10-02
整理:3721RD
点击:
刚刚接触cc2540 蓝牙协议。在蓝牙协议教程里面,cc2540 central , simpleBLECentralEventCB的函数中, 有定义数组 uint 16 charHdl 和 uinit 16 SimpleBLECharVal. 这两个定义是什么意思呢?
为何要在如下的代码里面给 charHdl[0] - charHdl[7] 赋 0 呢?
非常感谢!
case GAP_LINK_ESTABLISHED_EVENT: { if ( pEvent->gap.hdr.status == SUCCESS ) { simpleBLEState = BLE_STATE_CONNECTED; simpleBLEConnHandle = pEvent->linkCmpl.connectionHandle; charHdl[0] = 0; charHdl[1] = 0; charHdl[2] = 0; charHdl[3] = 0; charHdl[4] = 0; charHdl[5] = 0; charHdl[6] = 0; charHdl[7] = 0; simpleBLEProcedureInProgress = TRUE; if ( simpleBLECharHdl == 0 ) { osal_start_timerEx( simpleBLETaskId, START_DISCOVERY_EVT, DEFAULT_SVC_DISCOVERY_DELAY ); } USBPrintString("Connected: "); USBPrintString((uint8*) bdAddr2Str( pEvent->linkCmpl.devAddr ));USBPrintString("\r\n");
这是用来存放特征值句柄的,先赋值为0,读取到后在存放进正确的值
非常感谢。 那simpleBLECharHdl 是用来放service UUID的么 ? 从哪里可以看到这些定义,我看了software developer's guide,上面没有具体写。
这个你需要去翻源代码,慢慢看了。user's guide没有这么详细的
非常感谢:)