首页 > 编程知识 正文

crc16校验,crc16算法原理

时间:2023-05-05 22:12:07 阅读:260577 作者:1420

CRC16源码

WORD g_awhalfCrc16CCITT[16]={ /* CRC 半字节余式sddjy/ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef}; void Crc16CCITT(BYTE *pbyDataIn, gsdjb, BYTE abyCrcOut[2]){ WORD wCrc = 0; BYTE byTemp; while (dwDataLen-- != 0) { byTemp = ((BYTE)(wCrc>>8))>>4; wCrc <<= 4; wCrc ^= g_awhalfCrc16CCITT[byTemp^(*pbyDataIn/16)]; byTemp = ((BYTE)(wCrc>>8))>>4; wCrc <<= 4; wCrc ^= g_awhalfCrc16CCITT[byTemp^(*pbyDataIn&0x0f)]; pbyDataIn++; } abyCrcOut[0] = wCrc/256; abyCrcOut[1] = wCrc%256; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。