我有一个流式HDLC数据如下:
00 CE DB B1 FB 94 BC 51 D8 87 CF FF FB FF FF FF FB FF FF F9 7E AE 79 3D C4 D6 7B DB BD 7E 7B DF B8 FE 7B D8 7A 0B 3D ED DD 5B 3D EC DF 17 FF FC FE F3 FF FF FD 7F FC BD BF 9D BC 6C FF 05 FE FD FF 33 FE 51 FE C3 FE 43 FE 73 FE F1 FE 4A DF 36 FF A8 9F AB 9E 95 1E 4E 85 23 03 E6 EC 7E E5 2A 14 FF FE 5E 31 DE 0A 4F 88 4F EF 2F 96 1F 82 7F A7 FF 93 87 F2 BF F2 DF DE DF C2 DF C2 BF 9B 5F CE DF AA BF EB 3F F4 DF 84 DF D7 3F D1 5F E7 5F 98 DF DF 3F A1 5F 98 BF A7 3F ED 5F C8 DF B0 DF FC BF ED 7E 3B CB DC 49 34 A0
我想解码数据并从其有效负载中获取 IP 帧。从有关 HDLC 帧的各种资源中,我找到了帧分隔符 (0x7E) 并获得如下 HDLC 帧(其中 2 个帧):
第一帧
按照收到时的原始顺序:
7E AE 79 3D C4 D6 7B DB BD 7E
在反向字节顺序中(因为 HDLC 首先发送最低有效位):
7E 75 9E BC 23 6B DE DB BD 7E
第 2 帧
原始订单:
7E E5 2A 14 FF FE 5E 31 DE 0A 4F 88 4F EF 2F 96 1F 82 7F A7 FF 93 87 F2 BF F2 DF DE DF C2 DF C2 BF 9B 5F CE DF AA BF EB 3F F4 DF 84 DF D7 3F D1 5F E7 5F 98 DF DF 3F A1 5F 98 BF A7 3F ED 5F C8 DF B0 DF FC BF ED 7E
反转字节顺序:
7E A7 54 28 FF 7F 7A 8C 7B 50 F2 11 F2 F7 F4 69 F8 41 FE E5 FF C9 E1 4F FD 4F FB 7B FB 43 FB 43 FD D9 FA 73 FB 55 FD D7 FC 2F FB 21 FB EB FC 8B FA E7 FA 19 FB FB FC 85 FA 19 FD E5 FC B7 FA 13 FB 0D FB 3F FD B7 7E
但问题是,最后 2 字节 CRC(帧 1 的DB BD和帧 2 的BF ED)与任何帧都不匹配。
我尝试了许多论坛的建议,其中这两个最相关:
https://www.lammertbies.nl/forum/viewtopic.php?t=607
请帮忙。