刚刚接触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");
Viki Shi:
这是用来存放特征值句柄的,先赋值为0,读取到后在存放进正确的值
Bin Fan:
回复 Viki Shi:
非常感谢。 那simpleBLECharHdl 是用来放service UUID的么 ? 从哪里可以看到这些定义,我看了software developer's guide,上面没有具体写。
Viki Shi:
回复 Bin Fan:
这个你需要去翻源代码,慢慢看了。user's guide没有这么详细的
Bin Fan:
回复 Viki Shi:
非常感谢:)