0

Nucleo L053R8 の crc 計算ユニットを使用して、3 バイトの CRC 値を計算したいと考えています。生成多項式は次のとおりです: g(X)=x^24 + x^10 + x^9 + x^6 + x^4 + x^3 + x + 1

この CRC 計算ユニットを使用すると、32 ビット長の CRC しか生成できず、小さい値は 32 ビット結果の LSBS にすぎないようです。また、CRC32 の LSB が CRC16 と等しくないことも知っています。

必要な正しいCRC24を取得するために、入力/出力データに対して実行する必要がある操作について何か考えはありますか?

4

1 に答える 1

0

生成多項式を x^8 で乗算し、左に 8 ビット シフトします。初期値がある場合は、左に 8 ビットシフトして x^8 を掛けます。シフトされた多項式と初期値で 32 ビット CRC コードを使用し、結果の 32 ビット CRC を 8 ビット右にシフトします。

g(X)*x^8 = x^32 + x^18 + x^17+ x^14 + x^12 + x^11 + x^9 + x^8
于 2019-05-09T13:12:05.500 に答える