Quantcast
Channel: 蓝牙论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 7485

协议栈中的主机或从机的已连接事件并不表示主机与从机已准备好通讯

$
0
0

协议栈:BLE-CC254x-1.4.1.43908b

现象:

主机运行SimpleBLECentral,从机运行SimpleBLEPeripheral。

从机LCD已显示"Connected",说明从机已发生GAPROLE_CONNECTED事件;

主机在发生事件GAP_LINK_ESTABLISHED_EVENT且( pEvent->gap.hdr.status == SUCCESS )后,发送GATT_ReadUsingCharUUID后( simpleBLEDiscState == BLE_DISC_STATE_CHAR ),此时获得所需特征值的句柄,如果不做其他处理,simpleBLEDiscState = BLE_DISC_STATE_IDLE。按理说,此时主机从机已完成连接,可以通讯了。

问题是:此时,主机用GATT_WriteCharValue( simpleBLEConnHandle, &req, simpleBLETaskId );发送信息给从机,从机LCD未显示收到。开始以为代码有问题,反复查错,未发现问题。然后就试着重复用GATT_WriteCharValue发送信息给从机,印象里重复了57次(为了保险,重复次数后来增加到了60次),从机LCD才显示收到的信息。

需要解决的问题:如何通过事件的发生来判定主机和从机都准备好通讯了?


Viewing all articles
Browse latest Browse all 7485

Trending Articles