
LRI2K
CRC (资料)
附录B
B.1
CRC (资料)
CRC检错方法
循环冗余校验(CRC)计算包含在一个消息中的所有数据,从
该旗通过对数据的结尾开始。在CRC是从VCD用来LRI2K和
从LRI2K到VCD 。
表97 。
CRC定义
CRC定义
CRC类型
ISO / IEC 13239
长
16位
多项式
X
16
+ X
12
+ X
5
+ 1 = 8408h
方向
落后
预设
FFFFH
残留
F0B8h
向所计算出的加额外保护,防止移误差,进一步转化
CRC而成。计算出的CRC校验码的补是连接到值
消息以供传输。
检查接收到的消息的2字节的CRC码也常常包括在重新计算,
为便于使用。在这种情况下,所生成的CRC校验的预期值是将残余
F0B8h.
B.2
CRC计算示例
本实施例中的C语言表示计算CRC对一组给定的一个方法
字节包括消息。
C-示例根据ISO / IEC 13239计算或检查CRC16
#定义
#定义
#定义
#定义
#定义
#定义
POLYNOMIAL8408h//
PRESET_VALUEFFFFh
CHECK_VALUEF0B8h
x^16 + x^12 + x^5 + 1
NUMBER_OF_BYTES4 //例: 4个数据字节
CALC_CRC1
CHECK_CRC0
无效的主要( )
{
unsigned int类型current_crc_value ;
无符号字符array_of_databytes [ NUMBER_OF_BYTES + 2] = {1, 2,3,
4, 91h, 39h};
INT
number_of_databytes = NUMBER_OF_BYTES ;
INT
calculate_or_check_crc ;
INT
I,J ;
calculate_or_check_crc = CALC_CRC ;
// calculate_or_check_crc = CHECK_CRC ; //这可能是其他
例子
如果( calculate_or_check_crc == CALC_CRC )
{
number_of_databytes = NUMBER_OF_BYTES ;
85/89