mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage CRC


Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine Routine, welche mir eine Look-Up-Table mit 256 Einträgen
(je 16 Bit) produziert. So kann ich die Checksumme für ein einzelnes
Byte direkt per lookuptable[byte] erhalten.
Meine Frage: Wie ist bei der Übertragung mehrerer Bytes nun vorzugehen?
Im Moment führe ich einfach fortlaufend XOR Operationen zwischen den
einzelnen Checksummen durch bis alle Bytes abgearbeitet wurden. Ist das
so korrekt?

Danke, Alex

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei CRCs besteht normalerweise kein Grund, das Rad neu zu erfinden.
Gibt's 8/16/32-bittig fertig im Internet, bitseriell und byteseriell.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck dir mal die Application Note 27 von Dallas/Maxim an
(www.maxim-ic.com). Mir hats verständnismäßig ebenfalls geholfen.

Gruß Ralf

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also dort sieht es so aus, als wenn das Vorgehen so wäre:

Startwert xor 1.Byte
Ergebnis als Index für Lookup-Table
Wert aus Tabelle xor 2.Byte
Ergebnis erneut als Index für Lookup-Table
usw.

Autor: amd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Sorry das ich den urlaten Thread ausgrabe...
Wie oben schon steht wird in den Implementierungen von CRC immer so 
vorgegangen: Rest XOR neuen Byte und weiter rechnen damit.

Wenn man jedoch von Hand rechnet wird der Rest einfach vorne an das neue 
Byte angehängt als Startwert? somit bekommt man ein anderes Ergebniss.. 
?

Welches ist nun die richtige Vorgehensweise?

mfg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.