關於Central端讀取NOTIFY MODE
各位好!!
我們在試CC2254x的對傳資料,其中在Periphal 端設置的CHAR1定義Write,CHAR2定義NOTIFY MODE;這些動作已經在手機驗正傳送接收沒問題.
但是在Central端在讀CHAR2的資料卻是錯誤的. 下面是我們修改部份
if ( simpleBLESvcStartHdl != 0 )
{
// Discover characteristic
simpleBLEDiscState = BLE_DISC_STATE_CHAR;
req.startHandle = simpleBLESvcStartHdl;
req.endHandle = simpleBLESvcEndHdl;
req.type.len = ATT_BT_UUID_SIZE;
req.type.uuid[0] = LO_UINT16(SIMPLEPROFILE_CHAR2_UUID);
req.type.uuid[1] = HI_UINT16(SIMPLEPROFILE_CHAR2_UUID);
GATT_ReadUsingCharUUID( simpleBLEConnHandle, &req, simpleBLETaskId );
// Begin the search for characteristic handle of the service
//GATT_DiscCharsByUUID(simpleBLEConnHandle, &req, simpleBLETaskId );
}
但是在
else if ( simpleBLEDiscState == BLE_DISC_STATE_CHAR )
{
// Characteristic found, store handle
if ( pMsg->method == ATT_READ_BY_TYPE_RSP &&
pMsg->msg.readByTypeRsp.numPairs > 0 )
{
確找不到任何"Simple Svc Found"
如果把Periphal端的CHAR2模式改成Read就可以找到simpleBLECharHdl值.是否在Notify模式去讀取的方式或指令不一樣?