このサイトのリンクには広告リンクが含まれます。

CRC計算

この記事は約2分で読めます。
void CRC_16_calc (void)
{
	int i;
	Crc16Value = 0xffff;

	for ( i = 0; i < 4; i++ )
	{
		TEMP = Test_Pattern_Data[i];
		One_Byte_CRC16_Calc ();
	}
}
//
void One_Byte_CRC16_Calc (void)
{
	int i;
	int cf;

	for (i = 0; i < 8; ++i)
	{
		cf = ((Crc16Value & 0x8000) != 0);
		Crc16Value = Crc16Value << 1;
		Crc16Value = Crc16Value + ((TEMP & 0x80) >> 7);
		TEMP = TEMP << 1;
		if (cf)
		{
			Crc16Value = Crc16Value ^ 0x4002;
		}
	}
}

原理

http://kone.vis.ne.jp/diary/diaryb07.html#031020

アルゴリズム
http://www.wdic.org/w/WDIC/CRC

生成多項式のリスト
http://d.hatena.ne.jp/studiokingyo/20080531

コメント

タイトルとURLをコピーしました