CRC16校验码程序

  • 格式:docx
  • 大小:14.70 KB
  • 文档页数:2

CRC16校验码程序

//CRC16生成校验码

//生成多项式:X16+X15+X2+1

#include

void main(void)

{

unsigned char data[7] =

{ 0x7f };//{ 0x10,0x01,0xA2,0xE0,0x02,0x0A,0x03 };{ 0x7E,0x00,0x05,0x60,0x31,0x32,0x33 };

unsigned int CRC_code = 0x0000;

unsigned int CRC16 = 0x8005;

// unsigned char CRC1,CRC2;

int i = 0,j = 0;

for( i=0; i<1; i++ )

{

CRC_code = CRC_code ^ ( ((unsigned int)data[i]) << 8 );

for( j=0; j<8; j++ )

{

if( CRC_code & 0x8000 )

{

CRC_code <<= 1;

CRC_code = CRC_code ^ CRC16;

}

else

CRC_code <<= 1;

}

}

CRC_code = CRC_code & 0xFFFF;

printf( "生成校验码CRC(十六进制):%X\n",CRC_code );

// printf( "生成校验码CRC1(十六进制):%X\n",CRC1 );

// printf( "生成校验码CRC2(十六进制):%X\n",CRC2 );

}