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

📄 crctest.c

📁 一种crc的写法已经测试
💻 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 + -