⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crcv2.c

📁 加权多项式采用CRC16=X16+X15+X5+1
💻 C
字号:
#include<stdio.h>
typedef unsigned char uchar;
typedef unsigned int uint;
uchar crcbuff[]={0x00,0x00,0x00,0x00,0x06,0x0d,0xd2,0xe3};
uint crc;

uint crc16(uchar *ptr,uchar len)
{
	uchar i;
	while(len--)
	{
		for(i=0x80;i!=0;i>>=1)
		{
			if((crc&0x8000)!=0)
			{
				crc<<=1;
				crc^=0x1021;
			}
			else
				crc<<=1;
			if((*ptr&i)!=0)
				crc^=0x1021;

		}
		ptr++;
	}
	return(crc);
}
void main(void)
{
	uchar *ptr;
	//uchar data;
	//FILE *fp;

	crc=0;
	//fp=fopen("mydata.txt","w+t");
	ptr=crcbuff;

	/*for(data=0x00;data<0xff;data++)
	{
		crc=0;
		crc=crc16(&data,1);
		fprintf(fp,"0x%4X\n",crc);
	}

	data=0xff;
	crc=0;
	crc=crc16(&data,1);
	fprintf(fp,"0x%4X\n",crc);

	fclose(fp);*/

	crc=crc16(ptr,8);
	printf("0x%4X\n",crc);

	getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -