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
Einfach im Empfänger das höchstwertige Bit löschen? Denn das müsste doch das Parity-Bit des Senders sein.
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).
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.