您好!
我正在处理一个使用 SimpleBLECentral 示例的应用、并根据我的要求对其进行了修改。 在此应用中、我有2个 devices...device(1)运行 SimpleBLECentral 代码、并与其他 BLE 外设(2)连接。 现在我想写入其中一个具有 uuid [8A81]的器件(2)特性。 为此、我执行了以下操作...
1.使用以下函数查找具有 uuid [8A81]的特征-> GATT_DiscCharsByUUID (simpleBLEConnHandle、&req、simpleBLETaskId);
2.然后我使用以下函数存储其连接句柄-> constle_write = pMsg->msg.readByTypeRsp.pDataList[0];
3.然后我使用以下代码写入该特征->
//执行写操作
attWriteReq_t req;
sendDataToHost ("\r\n\r\nXOR 结果写入...");
REQ.pValue = GATT_BM_alloc (simpleBLEConnHandle、ATT_WRITE_REQ、5、NULL);
if (req.pValue!= NULL)
{
//notification2[0]= 0x20;
/*notification2[1]=108;
notification2[2]=243;
notification2[3]=123;
通知2[4]= 152;*/
REQ.Handle = conHnle_write+1;
Req.len = 5;
//req.pValue[0]=通知2[0];
memcpy (req.pValue、notification2,5);
REQ.SIG = 0;
REQ.cmd = 0;
状态= GATT_WriteCharValue( simpleBLEConnHandle,&req, simpleBLETaskId );
如果(status == Success)
{
sendDataToHost ("\r\nXOR 结果被写入。");
}
其他
{
sendDataToHost ("\r\nXOR 结果写入失败!!!!");
GATT_BM_FREE ((gattMsg_t *)&req、ATT_WRITE_REQ);
}
}
现在我得到的结果是...我打印了"XOR result written (写入 XOR 结果)",然后我的设备(1)自动从设备(2)断开连接。 那么,这种断开连接问题的原因可能是什么?
提前感谢。