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

📄 crcgen.c

📁 实现8比特字节的RS纠错编码
💻 C
字号:
/***************************** *  * CRC-CCITT generator simulator for byte wide data. * * * CRC-CCITT = x^16 + x^12 + x^5 + 1 * * * Henry Minsky (1991) *  * CRC code lifted from "C Programmer's Guide To Serial Communication"  * by Joe Campbell * ******************************/  #include "ecc.h"BIT16 crchware(BIT16 data, BIT16 genpoly, BIT16 accum);/* Computes the CRC-CCITT checksum on array of byte data, length len*/BIT16 crc_ccitt(unsigned char *msg, int len){	int i;	BIT16 acc = 0;	for (i = 0; i < len; i++) {		acc = crchware((BIT16) msg[i], (BIT16) 0x1021, acc);	}		return(acc);}	/* models crc hardware (minor variation on polynomial division algorithm) */BIT16 crchware(BIT16 data, BIT16 genpoly, BIT16 accum){	static BIT16 i;	data <<= 8;	for (i = 8; i > 0; i--) {		if ((data ^ accum) & 0x8000)			accum = ((accum << 1) ^ genpoly) & 0xFFFF;		else			accum = (accum<<1) & 0xFFFF;		data = (data<<1) & 0xFFFF;	}	return (accum);}		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -