做了一年天线电调,对HDLC通信协议一直是一知半解,在此总结一年这一年来的理解。
先上一张图:
起始标志位(0):0x7e
然后地址位(1):比如0x01
控制位(2):比如0xaf,0xbf,0x83,0x93,0x43,0x53这些,或者表示I帧时的偶数,表示RR帧的与0x0f并,结果为0x01
信息位:这里位数不定,符合一定的组合策略:
第一个单元是I帧的控制命令(3),0x03(软件复位),0x04(告警状态获取),0x05(信息获取),等等这些;
第二个单元为后面数据位的长度,两个字节(4, 5);
第三个单元就是数据位了,包括OK码啦(0x00),错误代码啦,或者实际的有效数据。
帧校验位(len-3, len-2):16位CRC校验值;
结束标志位(len-1):0x7e