Forum: Mikrocontroller und Digitale Elektronik Frage zur CRC-Berechnung?


von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

Hallo, ich habe ein Beispiel zur CRC Berechnung gefunden frage mich aber 
wieso hier noch ein 3ter Datenblock hinzugefügt wird, der leer ist.

Und eine weitere Frage wann beendet man sein Programm? Wenn man nichts 
mehr von oben nach unten holen kann oder wenn das Polynom kleiner als 
das letzte XOR Ergebniss ist oder wenn die beiden rechten Datenbytes 
leer sind.

Habe ein kleines ASM Programm mit 34 Befehle das etwa 180 Takte braucht 
geschrieben, welches später in ein größeres Projekt eingearbeitet wird. 
Ich erhalte beim durchsimulieren meinen korrekte CRC muss aber noch eine 
Abfrage zum beenden reinmachen, kenne aber das Kriterium nicht nach dem 
ich entscheiden muss bzw. wie programmiere ich es am einfachsten. Wenn 
die 2 rechten Datenbytes 0 sind dann passt die CRC und die Berechnung 
ist fertig. Wie kann man diese Abfrage am schnellsten durchführen.

Danke schonmal im Vorraus

von Walter T. (nicolas)


Lesenswert?

Thomas O. schrieb:
> frage mich aber
> wieso hier noch ein 3ter Datenblock hinzugefügt wird, der leer ist.

Wie in der Grundschule beim schriftlichen Dividieren. Sind keine Zahlen 
mehr übrig, holt man sich welche hinter dem Komma, bis alles 
durchdividiert ist (oder eine Periode kommt).

von Thomas (kosmos)


Lesenswert?

da man bei CRC aber den Rest als Checksumme verwendet, braucht man es 
doch nicht immer weiter teilen.

Ich denke eher es liegt daran das das Polynom 9bit breit ist. Bei mir 
kommt es nicht vor da ich nur ein 8bit Polynom verwende, wollte nur den 
Hintergrund wissen wieso es dort so gemacht wird.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.