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

📄 crc.h

📁 MSP430单片机C语言应用程序设计实例精讲
💻 H
字号:

#define CRC_TABLE_SIZE	      256

#define CRC16_CHECK           0xFEE8
#define CRC16R_CHECK	      0xBB3D
#define CRC32_CHECK			  0xFC891918
#define CRC32R_CHECK	      0xCBF43926

// CRC-16: x16 + x15 + x2 + 1
#define CRC16_POLY			  0x8005
#define CRC16_INIT_REM        0x0
#define CRC16_FINAL_XOR       0x0

#define CRC16R_POLY           0xA001
#define CRC16R_INIT_REM       0x0
#define CRC16R_FINAL_XOR      0x0

// CRC-CCITT: x16 + x12 + x5 + 1
#define CRC16_POLY_CCITT	  0x1021
#define CRC16_INIT_REM_CCITT  0x0
#define CRC16_FINAL_XOR_CCITT 0x0

// CRC-32: x32 + ... + 1
#define CRC32_POLY	          0x04C11DB7
#define CRC32_INIT_REM        0xFFFFFFFF
#define CRC32_FINAL_XOR       0xFFFFFFFF

#define CRC32R_POLY	          0xEDB88320
#define CRC32R_INIT_REM       0xFFFFFFFF
#define CRC32R_FINAL_XOR      0xFFFFFFFF

unsigned short crc16Bitwise(unsigned short crc, unsigned short poly, 
						unsigned char *pmsg, unsigned int msg_size);
unsigned short crc16Bitwise2(unsigned short crc, unsigned short poly,
						unsigned char *pmsg, unsigned int msg_size);
unsigned long crc32Bitwise(unsigned long crc, unsigned long poly, 
						unsigned char *pmsg, unsigned int msg_size);
unsigned long crc32Bitwise2(unsigned long crc, unsigned long poly, 
								unsigned char *pmsg, unsigned int msg_size);
unsigned short crc16TableMethod(unsigned short crc,  unsigned short *table,
									unsigned char *pbuffer, unsigned int length);
unsigned short crc16rTableMethod(unsigned short crc,  unsigned short *table,
									unsigned char *pbuffer, unsigned int length);
unsigned long crc32TableMethod(unsigned long crc,  unsigned long *table, 
								   unsigned char *pbuffer, unsigned int length);
unsigned long crc32rTableMethod(unsigned long crc,  unsigned long *table, 
								   unsigned char *pbuffer, unsigned int length);
void crc16BuildTable(unsigned short *ptable, unsigned short poly);
void crc32BuildTable(unsigned long *ptable, unsigned long poly);
unsigned long bitReflect(unsigned long data, unsigned int width);

⌨️ 快捷键说明

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