crc_c2.txt
来自「CRC的c语言实现」· 文本 代码 · 共 41 行
TXT
41 行
8bit and 16bit CRC source
#define AL2_FCS_COEF ((1 << 7) + (1 << 6) + (1 << 5)) /*X(8) + X(2) + X(1) +
1*/
#define AL3_FCS_COEF ((1 << 15) + (1 << 10) + (1 << 3)) /*X(16) + X(12) + X(
5) + 1*/
unsigned char GetOneCrc(unsigned char * data, int length)
{
unsigned char cFcs = 0;
int i, j;
for( i = 0; i < length; i ++ )
{
cFcs ^= data[i];
for(j = 0; j < 8; j ++)
{
if (cFcs & 1)
cFcs = (unsigned char)((cFcs >> 1) ^ AL2_FCS_COEF);
else
cFcs >>= 1;
}
}
return cFcs;
}
unsigned short GetTwoCrc(unsigned char * data, int length)
{
int i, j;
unsigned short iFcs=0;
for( i = 0; i < length; i ++ )
{
iFcs ^= (unsigned short)data[i];
for(j = 0; j < 8; j ++)
{
if (iFcs & 1)
iFcs = (unsigned short)((iFcs >> 1) ^ AL3_FCS_COEF);
else
iFcs >>= 1;
}
}
return iFcs;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?