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

📄 rfid_crc.c

📁 找的一个用U2270B开发的射频卡项目文件
💻 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 + -