So. Nach dem ich mich noch mal ausführlich mit crc beschäftigt hab, hab ich festgestellt, dass die Frage nach den Generator-Polynom Unsinn war. Das ist ja für CCITT festgelegt.
Hab mir mal selbst ein Beispiel gemacht. Könnte das bitte mal jemand überprüfen, der sich damit auskennt? Danke!
Code:
CRC16 CCITT:
Beispiel:
Polynom: x^4 + x^1 + x^0 -> 4. Grades -> 10011
Daten: 1100101011001
An die Daten 4 Nuller anhängen:
1100101011001 -> 11001010110010000
Die Daten mit XOR durch das Generator Polynom teilen:
11001010110010000
10011
-----
010100
10011
-----
0011110
10011
-----
011011
10011
-----
010001
10011
-----
00010001
10011
-----
00010000
10011
-----
000110
Rest an die Daten angängen:
11001010110010000 -> 11001010110010110
Fertige Daten durch Generator Polynom teilen:
11001010110010110
10011
-----
010100
10011
-----
0011110
10011
-----
011011
10011
-----
010001
10011
-----
00010001
10011
-----
00010011
10011
-----
000000 <- Rest=0, also fehlerfreie Übertragung
Kann mir bitte noch jemand sagen, welche Teile der Hex jweils so einen Datenstrang darstellen, der dann mit dieser Methode behandelt werden muss?
MfG
-schumi-
PS:
Ich hab schon eine Vorabversion des Upload-Programms geschrieben, die dann in HighSpeed ausliest, welches Board angeschlossen ist. Code gibts wenn die Upload-Funktion impletiert ist.
Lesezeichen