crc_8.c

来自「crc8的源代码」· C语言 代码 · 共 31 行

C
31
字号
//本程序是完成CRC-8的方程式为X^8+X^2+X+1的源代码,经调试后正确通过!

#include "reg52.h"
#define CRCnum 5
char CRCArray[CRCnum]={0x16,0x0f,0x17,0xe9,0x03};//需要CRC计算一串数0x160f17e903


unsigned char cal_crc(unsigned char *ptr, unsigned char len);
void main()
{
char CRC;
CRC=cal_crc(CRCArray,CRCnum);//得到CRC的代码
}
unsigned char cal_crc(unsigned char *ptr, unsigned char len) {
unsigned char i;
unsigned char crc=0;
while(len--!=0) {
for(i=0x80; i!=0; i/=2) 
{
if((crc&0x80)!=0) {crc*=2; crc^=0x07;} /* 余式CRC乘以2再求CRC */
else crc*=2;
if((*ptr&i)!=0) crc^=0x07; /* 再加上本位的CRC */
}
ptr++;
}
return(crc);
}

	

⌨️ 快捷键说明

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