所以我正在阅读本指南:https://novelbits.io/deep-dive-ble-packets-events/ .
结构解释如下:
但是我不明白,为什么0x46表示PDU Type是0110。所以这里你是从右到左读取的,但是为什么长度0x1C不是以同样的方式读取呢?长度通常只是转换成十进制值。
我问,因为我正在尝试自己解码一些 LL 数据。即这里: 0f 09 09 FD FD 81 07 00 00 00 00 如果我按照上面描述的那样做,0x0f -> 0b00001111 然后最后四位 1111 将描述 PDU 类型,但这样的类型不存在。 然而,有效负载长度由 0x09 正确描述。
我错过了什么?我现在真的很迷茫,不知道如何理解我那里的 LL 数据。
提前致谢!
我正在尝试理解 LL 数据,即 PDU 的标头。
如果您想解码链路层 PDU,您应该阅读规范。
据我了解你的问题又名。 “0f 09 09 fd fd 81 07 00 00 00 00”示例数据,您正在寻找LL控制PDU,这是一个数据物理通道PDU。
在您的示例中,PDU 具有标头:0f 09
LLID: 11 (LL Control PDU)
NESN: 1
SN: 1
MD: 0
CP: 0
RFU: 00
Length: 1001 0000 (9 octett)
这是一个 LL_FEATURE_RSP,其功能集为 { fd fd 81 07 00 00 00 00 }