CRC校验方法用C语言实现源代码(2)

2025-07-12

{

unsigned int crc = 0; unsigned char crc_H8; unsigned char *ptr = test; while( len-- ) {

crc_H8 = (unsigned char)(crc >> 8); crc = crc << 8; crc = crc ^ crc_table[

crc_H8 ^ *ptr]; ptr++; }

printf("0x%x ",crc); }

4、按半字节计算CRC

是不是感觉上面的表太大了,不是很爽,我们再来改进一下,按半字节计算,原理我就不赘述了,程序如下: 复制代码 代码如下: unsigned

unsigned char len = 16; unsigned int crc_table[16] =

{0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef };

void main(void) {

unsigned int crc = 0; unsigned char crc_H4; unsigned char *ptr = test; while( len-- ) {

crc_H4 = (unsigned char)(crc >> 12); crc = crc << 4;

crc = crc ^ crc_table[ crc_H4 ^ (*ptr >> 4)]; crc_H4 = (unsigned char)(crc >> 12); crc = crc << 4;

crc = crc ^ crc_table[ crc_H4 ^ (*ptr & 0x0f)]; ptr++; }

char

test[16]

={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};

printf("0x%x ",crc); }


CRC校验方法用C语言实现源代码(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版小学六年级数学上册圆第五单元测试题共六套

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219