xmodem CRC Berechnung

OP #3425388
Lesenswert?
• ▲
▼
Hallo zusammen,

ich arbeite momentan an einem Projekt bei dem ich ein Bin-File an ein am 
µController angeschlossenes EEPROM via xmodem sende. Das empfangen der 
Packete und das schreiben auf's EEPROM klappt soweit auch.

Jetzt möchte ich aber noch eine Funktion einbauen um das ganze auch 
wieder via xmodem auszulesen.

Der PC sendet mir jetzt statt einem NACK ein 'C' was laut Spezifikation 
soviel bedeutet wie das er ein 2 Byte (16-bit) CRC/CRC-16 verlangt.

Hab gestern einige Zeit im Internet gesucht, bin aber nicht wirklich 
fündig geworden. Das ganze läuft wohl mit Hilfe einer Polynomdivision, 
hab auch ein paar C Codes gefunden.
Die Funktionieren auch sicher, möchte das ganze aber verstehen und nicht 
einfach nur einen Code kopieren.

Hat damit jemand Erfahrung und kann mir das evtl. etwas genauer 
erklären?

Es sind 128 Datenbytes die übertragen werdem sollen,
also KEIN xmodem 1K (1024).

Danke und Gruß
Chris

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.