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;
}

 
发布了19 篇原创文章 · 获赞 3 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章