CRC16校验C语言程序源码-(附完整的可执行的C语言代码)

上传人:新** 文档编号:470968340 上传时间:2023-07-22 格式:DOC 页数:8 大小:29.50KB
返回 下载 相关 举报
CRC16校验C语言程序源码-(附完整的可执行的C语言代码)_第1页
第1页 / 共8页
CRC16校验C语言程序源码-(附完整的可执行的C语言代码)_第2页
第2页 / 共8页
CRC16校验C语言程序源码-(附完整的可执行的C语言代码)_第3页
第3页 / 共8页
CRC16校验C语言程序源码-(附完整的可执行的C语言代码)_第4页
第4页 / 共8页
CRC16校验C语言程序源码-(附完整的可执行的C语言代码)_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《CRC16校验C语言程序源码-(附完整的可执行的C语言代码)》由会员分享,可在线阅读,更多相关《CRC16校验C语言程序源码-(附完整的可执行的C语言代码)(8页珍藏版)》请在金锄头文库上搜索。

1、C16校验C语言程序源码 (附完整的可执行的语言代码)/CR6校验在通讯中应用广泛,这里不对其理论进行讨论,只对常用的2种实现措施进行测试。措施一:查表法(56长度的校验表) 速度快,精确,但是对于单片机设备存储占用大,且校验表长度大,输入时容易浮现错误。/- POPUR POLYNOMIAL-/ CCI:x16 x12 x + 0 (001)/ CRC-1: x1 +x1 + x2 + 0 (0x005)defin CC_16_PLYNOMAL0x805onst BYchCRHTalb = / CR高位字节值表0x00, xC, 0x8, 040, 0x01,0C0,x8,x, x0, 0C

2、, 0x80, 0x41,000, 0xC1, x8, 0x40, 0x0, xC0, 0x80,x4, 0x00, 0xC1, x81, 0x4,x00,0xC1, 081,x40, 001, 0xC0, 0x0, 0x1, 0x0, 0x0, x8,041,0x00, 0x, 0x81, 0x40, 0x0, 0xC1,0x,0x4,x0,xC0, 0x8, 0x41,x00,0xC1, x81, 0x40, 0x01, xC0, 08,0x41, 0x01,0xC0,080, x4,0x00, 0, x1, 0x4, x1, 0xC0,0x, 4, 0x00, 1,x81, 0x40,0

3、x00, 0C1,0x81,x40, 0, 0xC0, x80,0x1, 00,0xC1, 0x1, 04,0x0,0x0, 0x80,0x41, x01, 0xC0, 0x0, 041,x00, 0xC, 0x1, 0x40,0x00,0xC1,0x81, 0x40, 0x1, 0xC0, 0x0,41, x01, 0xC0,0x0, 01,0x00, 0xC, 0x81,0x40,x01, 0C0, x8, 041,0x00, 0xC1, 0x1, 0x0,000,xC1, 0x1, x4,0x01,0xC0, 0x80, 041, 0x0, 0xC0, 080,041,000, 0xC1

4、, x, 0x40, x00, 0x1,0x1, 04, 0x01, 0x0, 080,x41,0x0,0xC1, 0x81, 0x0, x01, 0xC0, 0x80, 0x4,0x01, 0x0, 0x0,0x41,0x0, 0C1,x81, 040, x00, 0C1, 0x81,0x40,0x1,0C0, 0x80, 041,x01,00,x80, x41,x00,0C,0x8, x0, 0x01,0x0, 00, 0x41,000,0xC1, x81, x40, x, 0x1, 1, 0x0, 0x01, C, 0x80,0x41,000,xC1, 081,0x40,0x01, 0x

5、C0,0x80, 0x41, 0x,0xC, 00, 4,x00, 0C1, x81, 0x40, 001, 0xC0, 0x,0x41, 0x0,C,01, 040,x00, xC1,0x81, 040, 0x0,C0, 0x80, 0x41, 0x, xC, 0x80,0x41,0x00,0xC1, 0x81, 0x4, 0x00, 0xC1, 0x8, 0x4, ,0C, 0x8, x1,0x00, 0x1, x81,0x4, 01, 0x0, 080, 041, 001, 0, x80, 041,0x, C1, 81,x0;cns BYTE hCRTabe = CRC 低位字节值表0x

6、00,xC0,0xC1, 0x01, 0C3, x3, 002, 0C2, 0xC6, 0x6, 07, 0xC7,0x0, 0xC5,0xC, 0x0, 0xCC, 0x, 0D,0xCD,0x0F, 0CF,0xCE, 0E,0x0,A, 0B, 0x0B, 0xC, 0x0, 0x0, 0C8,D, 0x8, 0x,x9,0x1B, xDB, 0D,, x,0xE, 0xF,xF, 0D,01D, 0x1C, 0xDC,0x14, 0x4,0xD5, 0x15, 0D7, 0x17, 0x16, xD6,0xD2, x12, 0x13, 0xD3,0x1,0D1, 0x, 01, 0F0

7、,x3, 0x1, 0x1, 033, 0xF, 0F2, 0x32,0x36, 0x, F7, 0x7,0xF5, 035, 034,0xF4, 0x3C, 0xFC, 0x, 0x3D,F, 0x3F, 03E, 0xFE,0xFA, 0xA,0x3B, xFB, x39,0xF9, 0xF8, 0x38,0, 0x8, 0xE9, x, 0xE, 02B, x2A, 0xEA, 0xE, 2, 0xF, 0xE,2D, 0D, 0xC,0x2,xE, 0x24, 025, 0xE5, 0x27, 0, 0x, 026,x22,xE2,03, x3, 0xE1, x21, x2, xE,

8、xA0, 0x0, x1, 0xA,06, x,0A2, 0x62, 0x66,A, 0x7, 0x, 0xA5, 065,06, 0xA,xC, 0xAC,xAD, 06, 0x, 0x6F, 06E, xE, 0xAA, x6,06, 0xAB,x69, 0xA9,0, 08, 0x78, 0x8, xB9,0x7, 0xBB, x7B, 0xA,xA,0xBE, x7, 07F, xB,0x7D, 0BD, 0xC,0xC, 0x4, x74,0x75,0xB,0x77, 0, 0B6, x76,072,0xB2, 0xB3, x3,xB1, 0x71,0x0,x,x50, x9, 0x

9、1,0x51, 0x93, 0x53,0x52, x92,0x6, x6, x7, 0x9,05, 95, 4, 0x54, 0x9, 0xC, 0x, 0xD,0xF, 0x9F, 0x, 0x5E,05A, 0x,0x9B, 05B, 0x99, 9,x8, 0x8, x8, 0x48, 0x9, 09,0xB, 0xB, 08,x4,0xE, xE, x8F, 0xF, 0x8, 0x4D, 0x4, 0x8,44,4, 05, x4, 0x87, 0x47, 6, 08, 82, 0x42,03,0x83,0x41, 0x, 0x80,0x0;WORD CR6_(BYT* phsg,

10、D wDaaLn)BYTE chCRC=0xFF; /高RC字节初始化 BYE chRLo= 0x; / 低CR字节初始化 RDwdx;/ CRC循环中的索引 hile (wDaaLen-) /计算CC wndex= hCRL *pchMg+ ; chCRCo=hCRCHi hCRCHTabwIndex; chCi= chRCTalbewIndx ; etur(cRCHi ) |chCLo) ;措施一:列表法(简朴表)const D CRCTalbebs =x000,xCC01,0D80, x1400, 0xF01,x3C00, 080,0E401, 0A001, 0x6C00, 7800,

11、0xB4, 0x5000,09C01, 80, 000, ;WRD R16_(BTE*pchMs, RD wDten)WORD wCR 0xFFF; WO i; YTE chChar;or (i=0;i 4); wCC = wCTalAbs(chChr ) CC) 15 (wCRC 4); rtun wCRC;措施二:定义法 根据RC16OBS原理直接计算,算法简朴但对单片机计算压力大。WORD RC_(BYTE* pchs, WORD wDtaLe)BTE,chChar; OR wCC 0xFFFF; whle (wDataLen) char = *pchMsg; chhar = ByteInver(chh); wCRC= (WRD) chChr) ); o(i = 0; i 8; i+)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号