Forum: Mikrocontroller und Digitale Elektronik Prob. mit LED Lauftextanzeige (Checksummen algo)


von Jochen Kühner (Gast)


Lesenswert?

Habe Probleme mit einer LED Lauftextanzeige, welche ich seriel
ansteuere. Bei der Lauftextanzeige war eine Software dabei welche mir
Texte seriel auf das display sendet. Ich habe nun statts der
Lauftextanzeige einen 2 pc an den pc gehängt und so die daten
ausgelesen welche die software seriell an die anzeige sendet. das
problem ist, das ich nun zwar alle befehle entschlüsselt habe, die
software aber auch irgendeine checksumme erzeugt um die übertragenen
daten zu überprüfen. gibts da bekannte allgorythmen die oft benutzt
werden welche ich viel. überprüfen könnte??? Ach macht es mich stutzig,
das wenn ich z.b. buchstaben von a-d sende sich die checksumme nur um
1-4 ändert, wenn ich aber dann e-h sende änder sie sich zwischen e-h
auch nur von 1-4 aber von d auf um glaube 8 oder 16... und so gehts
grad weiter immr in 4er blöcken... viel. hilft das ja...

von Fritze (Gast)


Lesenswert?

Die einfachst Checksumme ist eine XOR Verknüpfung.

Guck dir den ASCII Code von 'a-d' an, schreib in Dir binär auf und
XORe mal von hand. Wenn deine Checksumme rauskommt stimmt's.

Test:
a = 01100001
b = 01100010
temp = a xor b = 00000011
c = 01100011
temp = temp xor c = 01100000
d = 01100100
temp = temp xor d = 00000100

checksumme = 4

Probier's mal mit e-h. Hier ein Testprogramm:

int main(void)
{

char Buchstabe, temp;

Buchstabe = 'a';

temp = Buchstabe;

Buchstabe = 'b';

temp = temp ^ Buchstabe;

Buchstabe = 'c';

temp = temp ^ Buchstabe;

Buchstabe = 'd';

temp = temp ^ Buchstabe;

return 0;
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.