📄 rfid_crc.c
字号:
// $Id: rfid_Crc.c,v 1.1 2006/09/25 22:08:15 tprescott Exp $
/*****************************************************
Project : rfid_Crc.c
Date : 9/08/2006
Author : Toby Prescott
Company : Atmel
Comments: AVR Studio GCC
Revisions:
v1.0 - Started written for CodeVision
v2.6 - Clean for WinAVR
*****************************************************/
#include "rfid_Crc.h"
unsigned int CRC_CCITT16(unsigned int inCRC, unsigned char inChar, unsigned int inPoly)
{
unsigned int tmpCRC, tmpChar, tmpPoly;
unsigned char i, flag;
tmpPoly = inPoly;
tmpCRC = inCRC;
tmpChar = (unsigned int)(inChar)<<8;
for(i=0; i<8; i++)
{
if(((tmpChar&0x8000)^(tmpCRC&0x8000)) == 0x8000){flag = 1;}
else {flag = 0;}
tmpCRC = tmpCRC<<1;
if(flag == 1)
{
tmpCRC = tmpCRC^tmpPoly;
}
else
{
}
tmpChar = tmpChar<<1;
}
return tmpCRC;
}
unsigned int CRC_CCITT16_Reverse(unsigned int inCRC, unsigned char inChar, unsigned int inPoly)
{
unsigned int tmpCRC, tmpChar, tmpPoly;
unsigned char i, flag;
tmpPoly = inPoly;
tmpCRC = inCRC;
tmpChar = (unsigned int)(inChar);
for(i=0; i<8; i++)
{
if(((tmpChar&0x0001)^(tmpCRC&0x0001)) == 0x0001){flag = 1;}
else {flag = 0;}
tmpCRC = tmpCRC>>1;
if(flag == 1)
{
tmpCRC = tmpCRC^tmpPoly;
}
else
{
}
tmpChar = tmpChar>>1;
}
return tmpCRC;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -