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没有这么详细的
非常感谢:)
