Hilfe zu CRC16

Gast #169271
Lesenswert?
• ▲
▼
Hallo Zusammen,
ich hab folgendes Problem.

ich bekomme aus einem Netzwerk Messages die ich aufzeichne.

Diese haben eine CRC Summen angehängt (CRC-CCITT x^16 + x^12 + x^5 +
1)
Jetzt möche ich gern wissen wie ich die empfangenen Daten auf
Richtigkeit überprüfen kann.

Die einzelnen Bytes werden in ein unsigned Puffer geschrieben (siehe
Quelltext) am ende dieses Puffer hab ich zweit Bytes die CRC
beinhalten.
Wie kann ich also diese Prüfen?
Kennt jemand ein Codesnipped ?
Warum wird beim (CRC-CCITT x^16 + x^12 + x^5 + ) das x^16
vernachlässigt bzw.nicht benutzt.

Habe viel schon über CRC16 gelesen aber diese Quellen gehen immer von
einem Byte aus....

Bin Dankbar für jede Art von Hilfe

Gruß
Sebastian
Angehängte Dateien:
Gast #169272
Lesenswert?
• ▲
▼
Hallo !

Schau mal in die Doku von der avr-lib, darin nach crc suchen. Dort
findest du den C-Code für eine CRC Routine. Falls du den AVRGCC
benutzt, sind in crc16.h bereits 3 Routinen drin für verschiedene
Polynome.

Noch ein praktischer Tip: Wenn du die CRC über die empfangenen Daten
incl. der empfangenen CRC selbst berechnest, kommt 0 raus wenn die
empfangene CRC stimmt.

Stefan

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.