CRC計算

2019年7月8日

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

原理

アルゴリズム

生成多項式のリスト

開発

Posted by ikaken