网络_2章CRC计算补充材料.pptVIP

  • 3
  • 0
  • 约5.29千字
  • 约 13页
  • 2016-12-09 发布于贵州
  • 举报
网络_2章CRC计算补充材料

2.8 CRC检错码的软件实现 CRC校验码的生成 生成多项式取为CRC-CCITT: G(x)=x16+x12+x5+1 按位计算算法 本位CRC码等于上一位CRC码乘以2后除以多项式,所得的余数再加上本位值除以多项式所得的余数 多项式:0x1021 程序简单、费时 CRC计算函数 ptr: 指向发送缓冲区的首字节 len: 总字节数 2.8.1 按位计算CRC的算法 1. 令16位的CRC寄存器初值为0; 2. 取数据包的第1个8位字节(高字节); 3. 取当前字节的最高位; 4. 若CRC寄存器的最高位为1,则CRC寄存器的内容左移1位,最低位补0,然后与多项式值0x1021异或,得到新的CRC值; 若CRC寄存器的最高位为0,则CRC寄存器的内容左移1位,得到新的CRC值; 5. 若当前字节的当前位为1,则CRC寄存器的内容与多项式值0x1021异或,得到新的CRC值; 6. 当前字节左移1位(即:取当前字节的下1位); 7. 重复步骤4到6,直至当前字节的8位处理完; 8. 取数据包的下一字节; 9. 重复步骤3到8,直至所有字节被处理完; 2.8.1 按位计算CRC unsigned int cal_crc(unsigned char *ptr, unsigned cha

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档