CRC4的C语言实现代码
时间:11-18 16:56 阅读:1504次
*温馨提示:点击图片可以放大观看高清大图
简介:这里给大家分享一个函数,实现DSP通讯中的CRC4校验 。特征码为0x13。
CRC的原理此处不再赘述,具体的函数实现代码如下:
BYTE FormCRC4(BYTE* pData, Uint16 Length)
{
BYTE tempRegs, tempResult;
BYTE midval;
Uint16 i, j;
midval = 0x13;
tempRegs = *pData++;
tempRegs ^= 0xff;
i = 0;
while(i < Length)
{
for(j = 0; j < 8; j++)
{
if (tempRegs & 1)
{
tempRegs >>= 1;
tempRegs ^= midval;
}
else
{
tempRegs >>= 1;
}
}
if (i++ == (Length - 1)) return tempRegs;
tempResult = *pData++;
tempRegs ^= tempResult;
}
return 0;
}