Forum: Mikrocontroller und Digitale Elektronik Sender UART 7E2 => Empfänger UART 8N1


von Marvin (Gast)


Lesenswert?

Hallo Experten,

Vor mir liegt ein Steuergerät für eine Pneumatik-Anlage.
Das Gerät liefert im Störfall an der seriellen Schnittstelle eine 
Fehlermeldung und überträgt diese laut Dokumentation mit 7Bit, 2 
Stoppbit, Even Parity.

Desweiteren habe ich ein Alarmsystem, welches im Falle einer Störung 
einen Maschinenbediener anruft.
Dieses Gerät empfängt aber mit einer Konfiguration von 8Bit, 1 Stoppbit, 
Ohne Parity... Leider muss das auch so bleiben, damit das Teil mit 
anderem Zubehör kompatibel bleibt.
Ich kann aber Regeln programmieren, die, abhängig von den empfangenen 
Daten bestimmte Aktionen auslösen.

Gibt es eine Möglichkeit, dass ich die 7E2 Nachricht mit dem 8N1 UART 
lesen kann?

Wenn ich mir die empfangenen Zeichen auf dem Display anzeigen lassen, 
dann werden manche Zeichen verfälscht. Vermutlich ab einem bestimmten 
Wert...

Hat jemand einen Rat wie man hier vorgehen kann?

Danke, Marvin

von S. Landolt (Gast)


Lesenswert?

Einfach im Empfänger das höchstwertige Bit löschen? Denn das müsste doch 
das Parity-Bit des Senders sein.

von Thomas E. (picalic)


Lesenswert?

Hallo Marvin,

Marvin schrieb:
> Dieses Gerät empfängt aber mit einer Konfiguration von 8Bit,

wenn Du eine Regel programmieren könntest, die das Gerät veranlasst, das 
höchstwertige Bit zu ignorieren, sollte es gehen, d.h. alle empfangenen 
Zeichen mit Code >= 128 müssen auf Zeichen 0..127 umgesetzt werden 
(Operation -128 oder log. AND 0x7F).

von Marvin (Gast)


Lesenswert?

Hallo,

vielen Dank für eure Antworten.

Ich kann auf dem Empfänger, nachdem eine Nachricht vollständig in ein 
unsigned char Array eingelesen wurde, jedes empfangene Byte anfassen.

Werde es gleich mal (x & 127) versuchen und schauen, ob die Daten dann 
wieder einen Sinn ergeben ;)

Und die Tatsache 2 Stoppbits vs. 1 Stoppbit kann man empfängerseitig 
ignorieren? Der Empfänger sieht da nur eine Sendepause, oder?

Vielen Dank schonmal,

LG, Marvin

von S. Landolt (Gast)


Lesenswert?

Genau, der Empfänger kann das 2. Stopbit nicht von einer Sendepause 
unterscheiden.

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.