CRC

/*-----------------------------------------------------------------------------
* 函数:	CalculateCRC
* 功能:	计算CRC校验结果
* 参数:	pBuf----需要计算校验的buffer
*		size----buffer大小
* 返回:	16位CRC校验结果
*----------------------------------------------------------------------------*/

U16  CalculateCRC(unsigned char * pBuf, U32 size)
{
	U16 crc;  
	for( crc = 0xffff; size-- ; )
	{
		crc = (U16)((crc >> 8) | (crc << 8));
		crc = (U16)(crc^(*pBuf++));
		crc = (U16)(crc^(U8)(crc & 0xff) >> 4);
		crc = (U16)(crc^(crc << 12));
		crc = (U16)(crc^((crc & 0xff) << 5));
	}	
		return crc;
}

 

你可能感兴趣的:(buffer)