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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章