Pruefsumme

Hallo Eingeweihte,

CHECKSUM BCC (Block Check Count) Calculated as a modulo-2 addition (XOR) on all bytes in the telegram except first STX sign, inclusive ETX.

Kann mir jemand diesen Text verständlich machen.

"modulo-2 addition" wie geht das?

Möchte es in Basic machen Es soll ein Word-Variable dabei rauskommen.

Beispiel: (hier Dezimalzahlen)

30 31 100 5 255 0 0

---------

Welche Summe kommt raus, bzw. wie muss ich zusammenzählen?

Danke Kurt

Reply to
Kurt Bindl
Loading thread data ...

Kurt Bindl schrieb:

Steht in Klammer dahinter: XOR. Du musst die Addition bitweise sehen:

0+0 = 0 1+0 = 1 0+1 = 1 1+1 = 2, 2 modulo 2 = 0

CU Christian

--
Christian Zietz  -  CHZ-Soft  -  czietz (at) gmx.net
WWW: http://www.chzsoft.com.ar/
PGP/GnuPG-Key-ID: 0x6DA025CA
Reply to
Christian Zietz

Steht doch gleich dabei: XOR. Außerdem steht auch gleich noch dabei, daß das erste Zeichen der Nachricht (STX) nicht mit in die XOR-Summe eingeht, das abschließende ETX hingegen schon.

Was allerdings nicht dasteht, ist der Startwert für die XOR-Summierung. Also ist es mit einiger Wahrscheinlichkeit 0. Mit etwas geringerer Wahrscheinlichkeit kommt auch noch 255 in Frage.

Reply to
Heiko Nocon

Heiko Nocon schrieb:

Davon ist auszugehen, wenn man die Definition von XOR betrachtet.

Gruß Henning

--
henning paul home:  http://www.geocities.com/hennichodernich
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Heiko Nocon schrieb:

Was spricht dagegen, den ersten Wert als Startwert zu nehmen? Ich bin gerade leicht verblüfft - ausgerechnet die in meinen Augen absolut naheliegendste Methode wird von Dir gar nicht erst erwähnt. 0 wäre in meinen Augen ein zusätzlicher Wert, der die Summe verfälscht und deshalb auch nicht als Startwert erwähnt wird.

Gruß,

Ed

Reply to
Edzard Egberts

Kurt Bindl schrieb:

Nur aus Interesse: Mifare Kartenlesemodul? "Start TeXt" und "End TeXt"?

Wie die anderen schon sagen: einfach die Payload ver-XOR-en.

Viele Grüße, Johannes

--
durch dei Verdunstung kült das sogar ziemlich gut
das ist wie schweiß. Hünde müssen da hecheln so wie Lüfter.
                              Markus Gronotte in de.sci.electronics
Reply to
Johannes Bauer

Steh' ich jetzt gerade auf dem Schlauch?

Wie soll die Addition von 0 (egal, ob XOR oder echte Addition) denn die Summe verfälschen?

cu Michael

--
Some people have no respect of age unless it is bottled.
Reply to
Michael Schwingen

Michael Schwingen schrieb:

Tut sie nicht. 0 XOR A = A. Beides geht also.

Gruß, Johannes

-- durch dei Verdunstung kült das sogar ziemlich gut das ist wie schweiß. Hünde müssen da hecheln so wie Lüfter. Markus Gronotte in de.sci.electronics

Reply to
Johannes Bauer

Kurt Bindl schrieb:

XOR = (a OR b) and not(a and b)

Ob man das so in Basic umsetzen kann? Gibt es ein bitweises invertieren in Basic?

Setze das mal in Binärzahlen um: dez(30) = % 00011110 dez(31) = % 00011111 ---------- xor = % 00000001 -> dez(1) dez(100)= % 01100100 ---------- xor = % 01100101 -> dez(101) dez(5) = % 00000101 ---------- xor = % 01100000 -> dez(96) dez(255)= % 11111111 ---------- xor = % 10011111 -> dez(159)

Gruß Gunther

Reply to
Gunther Mannigel

Hallo Gunter, Hallo Leute, erstmal Danke für die freundliche Hilfe.

Also in Basic müsste es gehen, hab bitxor gesehen, das scheints zu machen. Eins hat mich verunsichert: es wurde ein WORD-Var erwartet. Aber, wenn man halt nicht lesen kann!!

----|-------|-------| Dn | Dn+1 | DN+2 |

----|-------|-------| Data| ETX |CHECKSUM

----|-------|-------|

Das DN+2 hab ich als 2 Byte gelesen, und konnte mir nicht erklären wo das High-Byte herkommen soll.

Naja, jetzt gehts endlich an die Arbeit.

Kurt

Reply to
Kurt Bindl

Nein, man kann prinzipiell beliebige Startwerte benutzen. Sie müssen nur bei Sender und Empfänger gleich sein.

Reply to
Heiko Nocon

Nichts. Das Ergebnis entspricht exakt dem, was man bei Verwendung von Null als Startwert erhält.

Reply to
Heiko Nocon

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.