车 道 数 字节长度 1
设 备 所 处 调 查 断 面 双 向 车
道 数 , 为 1 及 2-18 间 的 整
型 数 , 其 中 2-18 间 为 “ 2”
的 整 数 倍 。“ 01” 代 表 单 车
道 ,“ 02” 代 表 双 车 道 , 依
此 类 推
01,02,04,06,08,
0A,0C,0E,10,12
这个可以用0x10;
但是这个我怎么判断他的标志位
小型车交 通 量 字节长度 2
在 DSC 指定的交通数据处理期内,
该车道的小型汽车数量。低位在
前、高位在后
小型车平 均 地 点
车 速
字节长度 1
在 DSC 指定的交通数据处理周期
内,该车道的小型汽车地点车速的
算术平均值。无交通量时以“00”
填充,下同
00-FA
CRC校验:
具体算法 具体算法( (( (C 语言), 低位在前, ,, ,高位在后 高位在后: :: :
unsigned short CRC16(puchMsg, usDataLen)
//unsigned char puchMsg; / 要进行 CRC 校验的消息*/
//unsigned short usDataLen; /* 消息中字节数*/
{
unsigned char uchCRCHi = 0xFF ; /* 高CRC字节初始化*/
unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化*/
unsigned uIndex ; /* CRC循环中的索引*/
while (usDataLen--) /* 传输消息缓冲区*/
{
uIndex = uchCRCLo ^ puchMsg++ ; / 计算CRC /
uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex] ;
uchCRCHi = auchCRCLo[uIndex] ;
}
return (uchCRCHi << 8 | uchCRCLo) ;
}
auchCRCHi、auchCRCLo 取值见“CRC 字节表”。
2 、 、、 、CRC 字节表
/ CRC 高位字节值表*/
static unsigned char auchCRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, .....