mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik longitudinal Parität berechnen


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi ich habe ein Problem bei dem ich nicht wirklich weiter komme und ich
hoffe da hier jemand mir ein paar Tips geben kann. ich muss für eine
DAtenübertragung eben die longitudinal Parität berechnen. Es sich um
eine Xor Verküpfung des übertragenden Bits soweit bin ich schon.
Als Bsp habe ich
HEX:    0x02     0x82    0x01    0x00   ergibt als Parität 0x81
Bin:  00000010 10000010 00000001 00000000       10000001

leider habe ich echt keine Idee wie ich auf die Parität kommen soll.
Hat jemand von euch ggf. ein nachvollziebares Beispiel?

Gruß

Autor: Rick D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
00000010
^ 10000010
----------
= 10000000

  10000000
^ 00000001
----------
= 10000001

  10000000
^ 00000000
----------
= 10000001

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
0x02 xor 0x82 = 0x80  (I)
0x01 xor 0x00 = 0x01  (II)

(I) xor (II) = Par
0x8 xor 0x01 = 0x81

Zumindest komme ich auf die gegebenen Zahlen.

Autor: Rick D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
10000001
^ 00000000
----------
= 10000001

so muss die letzte EXOR Verknüpfung lauten, sorry copy&paste Fehler von
mir.
Du verknüpfst alle Bytes mit EXOR mehr nicht, wo ist das Problem?

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die XOR Verknüpfung hat folgende Logik:
E1 | E2 | A
------------
 0 | 0  | 0
 0 | 1  | 1
 1 | 0  | 1
 1 | 1  | 0

Mit dieser Logiktabelle kannst Du bitweise die Verknüpfung
durchführen.
z.B.
0x02 : 00000010 XOR
0x82 : 10000010 ergibt
---------------
0x80 : 10000000 XOR
0x01 : 00000001 ergibt
---------------
0x81 : 10000001 XOR
0x00 : 00000000 ergibt
---------------
0x81 : 10000001
===============

Ich hoffe, dass dieses Beispiel verständlich war.

Gruß

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch allen
jetzt habe ich es verstanden wie es geht und werde mich dadran machen
es in C umzusetzten.

@ Rick D. ich hatte aus dem Netz ein Beispiel zur Paritätsberechnung
aber mit dem kamm ich überhaupt nicht klar. jetzt wo cih weiß wie es
geht weiß ich das das Beispiel zwei Verschiedene Paritätsberechnungen
einfach mixt und das als longitudinal P ausgibt.

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.