📄 crctest.c
字号:
//与富马一致得校验
unsigned short CalcCRC16(unsigned char * pPtr,unsigned int nCount)
{
unsigned short wCRC,i;
wCRC = 0;
while (nCount > 0)
{
nCount--;
wCRC = wCRC ^ (unsigned short)(0xFF&*pPtr++);
for (i=0; i<8; i++)
{
if (wCRC & 0x0001)
wCRC = wCRC >> 1 ^ 0x8408;
else
wCRC = wCRC >> 1;
}
}
wCRC = (wCRC<< 8) | ((wCRC >> 8) & 0xFF);
return wCRC;
}
//ok
int main(void)
{
unsigned char beforecrc[20]; unsigned char aftercrc[20]; // Cmd[0]=0x7E; unsigned int len;
unsigned short crc;
int i;
crc=0; len=10; beforecrc[0]=1;
beforecrc[1]=1;
beforecrc[2]=1; beforecrc[3]=1; beforecrc[4]=0; beforecrc[5]=0; beforecrc[6]=0x21;
beforecrc[7]=0;//if success set 0; or set not 0;
beforecrc[8]=0;
beforecrc[9]=0; printf("test the function of crc :: \n"); printf("Befor crc:: \n");
if(len>0) { for(i=0;i<len;i++) printf("*%2X*",beforecrc[i]); }
crc=CalcCRC16(beforecrc,len);
beforecrc[11]=crc%256;
beforecrc[10]=crc/256;
printf("After crc:: \n");
len=len+2;
if(len>0) { for(i=0;i<len;i++) printf("*%2X*",beforecrc[i]); }
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -