CRC16 校验码程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//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 );
}

相关文档
最新文档