CBPeripheral writeValue用CBCharacteristicWriteWithResponse发送40个字节,发送18,18& 2

时间:2014-05-30 15:17:04

标签: ios bluetooth-lowenergy core-bluetooth bluegiga

我正在使用CBCharacteristicWriteWithResponse(使用BGLib的BLE112)向外设写入/发送40个字节。我原本预计它将以两个20字节的块到达。 相反,它到达三个街区18,18& 4。

知道为什么我会看到这种行为吗?

1 个答案:

答案 0 :(得分:1)

连接后我一直在嗅探初始交换。

通过ATT_Exchange_MTU_Req,iDevice表示它可以支持135字节的MTU! (0x0087)然后BLE112以23字节的ATT_Exchange_MTU_Rsp响应。 iOS会记住并使用此值作为未来通信的基础(ATT_Exchange_MTU_Req / Rsp的整点)

在BTSpec4.0.pdf部分3.4.6.1准备写请求中,它说部件属性值有ATT_MTU-5 = 23 - 5 =要使用的18个字节包含值的一部分。

如果BLE大师@ Apple确认这是合理的,那么这是正确的。