BLE HID层为什么每个包最多20个字节?
时间:10-02
整理:3721RD
点击:
一直听人说HID层每包最大20个字节。但是细问之下,又说不出个所以然。我知道在GATT层,连续发码的情况下,每包最大可以发27个字节。HID层为什么不行?HID的数据也是在GATT传的,而且又没有头部之类的?难道是HID report map里规定不能超20字节?
协议规定payload 最大为 27。但需要去掉L2CAP 的头即4 个字节,剩余23 个字节 MTU。在ATT 层用了 1 个字节的 op code, 2 个字节的 attribute handle,最后就剩下 20字节。
这个我是知道。如果在GATT层发大于20个字节的包,底层会分包,第一个包需要这7个字节的头,但是从第二个开始就不需要了。 所以从第二个包开始可以发27个字节。那HID over GATT的数据从第二个包开始也可以是27个字节吗?