newfriendboy 2015-08-04 05:33 采纳率: 0%
浏览 1971
已结题

数据包的位置计算(跟CRC16有关吗?)以及数据包的字节长度

车 道 数 字节长度 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, .....

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-08-04 07:48
    关注

    这里每个帧之间有一些0x00的缓冲,所以很容易拆分。
    crc是你先有了数据,然后对它校验用的,如果你只是解析,而不是发送,并且对可靠性要求不是很高,这个不需要理会。

    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)