iOS BLE特征控制点写入-ATT错误

时间:2020-04-01 03:35:31

标签: ios objective-c bluetooth bluetooth-lowenergy characteristics

我在write control point上执行characteristic时遇到问题。

也许我提供了一个错误的值,因为我不完全了解控制点的性质。我已经注意到实现旁边关于控制点值的一些规范。

即使这样,我也不会收到比ATT Unknown更详细的错误描述,所以我无法找出根本原因。

char buffer[1];
buffer[0] = 0x01; // opCode - 1 byte
// buffer[1] = 0x00; // Operand - variable length, N/A in this case
// buffer[2] = 0x00; // Crypto Data, 3 bytes, (handled by encryption manager? investigating)
NSData *data = [NSData dataWithBytes:buffer length:1];
NSData *data2 = [self.encryptionManager encrypt:data];
[_peripheral writeValue:data2 forCharacteristic:characteristic type:CBCharacteristicWriteWithResponse];

ATT Error Description

顺便说一下,所有其他配置文件/控制点都可以成功读取和写入。并且已经在Android上成功进行了测试-不是我的。

1 个答案:

答案 0 :(得分:0)

是您的远程设备返回该错误代码。规范提到了设备何时应发送以下代码:

2.3客户特性配置描述符配置不正确(0xFD)

未根据概要文件或服务的要求配置客户端特征配置描述符时,将使用客户端特征配置描述符配置错误的错误代码。

如果正确使用了错误代码-我不知道。请阅读远程设备的文档,如何使用它。因为现在有点像您在问为什么随机http服务器会以错误500响应。

“控制点”或多或少只是表示您要写入的特征。