www.mikrocontroller.net

Forum: Compiler & IDEs Nachhilfe CRC


Autor: Moni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Hab folgende Frage an euch:
Hab einen Datenpaket der Struktur:
Empänger + Absender + Länge + Daten + CRC.

Jetzt ist es erlaubt, dass der Pointer auf die Daten belassen wird, aber 
deren Inhalt (aber nicht Länge) geändert werden darf.

Eigentlich müsste ich mir die aktuellen Daten holen und über alles die 
CRC neu berechnen. Jetzt habe ich mir aber gedacht, dass ja die ersten 
Bytes immmer gleich sind. Da könnte ich mir das Berechnen der CRC 
sparen, da bis dahin das Ergebnis immer gleich ist.

Wie kann man jetzt die CRC dazubringen, dass sie mit der CRC bis zur 
Länge anfängt und dann nur noch die Daten macht?

Gruß
Moni

Autor: Ano Nym (oorim)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du die Routine zum Berechnen hast und die Zeit egal ist jag es doch 
über das gesamte neue Paket?

Grüße

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moni schrieb:
> Wie kann man jetzt die CRC dazubringen, dass sie mit der CRC bis zur
> Länge anfängt und dann nur noch die Daten macht?

Der CRC-Wert muss ja immer eine initiale Zuweisung bekommen, denn
das Prinzip ist ja:
   crc := initialwert;
   while (noch_daten_vorhanden) {
      crc := berechne_crc(aktuelles_datum, crc);
   }

Der initialwert in diesem Pseudocode ist dabei in der Regel 0 oder
0xffff oder sowas; dort musst du den Wert eintragen, der sich nach
der Abarbeitung deiner Adressfelder ergibt.

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.