www.mikrocontroller.net

Forum: PC-Programmierung Interessanter 8-Bit-CRC


Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich durfte heute auf der Arbeit ein Programm dazu bringen, mit einem 
Lesegerät für Guthabenkarten (für Cafeterien etc.) zu reden. Die Doku 
zum Protokoll (über RS232) sprach von 8-Bit-CRC, sagte aber nichts über 
das verwendete Generatorpolynom.

Nachdem ich per Trial and Error (automatisch alle möglichen Werte fürs 
Prüfbyte durchprobieren lassen, bis die Hardware mit einem ACK 
antwortet) ein paar gültige Anfragen generieren konnte und dann auch 
sinnvolle Daten vom Gerät erhalten habe, sind mir zwei Dinge 
aufgefallen:

Nur aus Nullen bestehende Nutzdaten bekommen ein Nullbyte als CRC -> 
offensichtlich scheint das Startpolynom null zu sein.

Interessanter war schon:

Pakete mit 1 Byte Nutzdaten haben offenbar immer ein CRC-Byte, die genau 
diesem einen Nutzdatenbyte entspricht. Das war schon ziemlich auffällig.

Na ja, die Software ist jetzt so weit, daß sie am Montag dem Kunden 
vorgeführt werden kann, und man kann ja auch nochmal den Hersteller 
fragen, aber mic würd mal interessieren, ob man nicht aus diesem 
Verhalten bereits auf ein typisches Generatorpolynom schließen kann.

Grüße Sebastian

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es vielleicht garkein Polynom, sondern nur die Summe aller Werte ?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternativ XOR aller Werte.

Autor: Bobby (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier mal aus: zwei Bytes mit dem selben Wert.
Bei XOR kommt dann Null raus...

Autor: der mechatroniker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Summe aller Werte kann ich ausschließen, hab ich auch schon dran gedacht 
und ausprobiert. Aber das mit dem XOR ist ne gute Idee, werd ich nächste 
Woche dann mal versuchen.

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.