mikrocontroller.net

Forum: Compiler & IDEs Checksumme berechnen?


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich will einen grafikrechner (CASIO cfx-9850gb+) per USART an einen 
ATmega8 anbinden. Prinzipiell funktioniert die Übertragung einer 
Variablen auch schon, allderings fehlt mir noch eine Möglichkeit zur 
berechnung der Checksumme am Ende eines zu sendenen Datenblocks. Ein 
Datenblock sieht z.B. so aus (Alle Werte in Hex):

3A 00 01 00 01 01 50 00 00 00 00 00 00 01 01 AB

Das letzte Byte, also AB, ist die Checksumme. Sie berechnet sich 
folgendermaßen:

Alle Bytes des Datenblocks (inklusive der Checksumme) werden addiert und 
anschließend durch 256 geteilt. Der Rest (Modulo) dieser Division muss 
0x3A sein.

Allerdings habe ich keine Ahnung, wie ich das am besten in einen C-Code 
umsetze. Für Hilfe wäre ich sehr dankbar.

mfg Markus

Autor: Roland Praml (pram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aller Werte bis auf checksum in einer Byte-Variable addieren und dann 
das Ergebnis von 3A abziehen. Pseudocode:

byte checksum=0
forall Werte as wert do
  checksum += wert
done
checksum = 0x3A - checksum

... gerade mit windows Taschenrechner geürüft
Gruß
Roland

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thx, funktioniert wunderbar :-)

mfg Markus

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.