www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 - Parität?


Autor: Krisch Makaber (krischan111)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoi! Ich hab ein Projekt mit der Datenarchivierung über RS232 zwischen 
SPS und PC. Ja ich weiß, total spannend. Jedenfalls ist mir aufgefallen, 
dass es gar keinen Unterschied mache, welche Einstellung ich für die 
Parität angebe. Ob ich Keine, Gerade oder Ungerade anwähle, die Daten 
kommen immer zuverlässig an. Da kann doch was nicht stimmen. Wird die 
Parität immer auf "Keine" gesetzt? Mit Parität müsste ein Byte-Diagramm 
ja um ein Bit länger sein.
Wenn ich eine falsche Angabe für die Stoppbits mache dann kommt 
Datenmüll an.
Ich benutze eine DLL mit C++, aber Hyperterminal macht genau das 
gleiche.

Autor: Chrisi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mich auch nicht erinnern, dass HT jemals nen Parity-Fehler 
ausgeworfen hätte. Die Daten kommen in der Tat in jedem Fall an. Man muß 
halt nur den Fehler ignorieren.

Entscheidend für Deine Überlegungen ist, mit welchem Format Deine SPS 
die Daten sendet. Wenn z.B. 2 Stoppbits ohne Parity angehängt werden, 
also 8N2, hättest Du perfekten Empfang auch mit 8N1. Und bei 8E1 oder 
8O1 gibt's halt einen Fehler, um den sich niemand kümmert. Das wäre 
zumindest mal eine passende Konstellation.

Autor: Krisch Makaber (krischan111)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, hab's jetzt raus.

Datensätze mit falschem Paritybit werden nicht anerkannt.

Sende ich ein 'r' von einem 8N1 Sender an einen 8E1 Empfänger, wird es 
geblockt.

Sende ich ein 'a' von einem 8N1 Sender an einen 8E1 Empfänger, kommt es 
tatsächlich an.

Liegt einfach daran, dass das Stopbit den selben Pegel hat wie der 
Ruhepegel, der nach dem Stopbit kommt. Der Empfänger nimmt also das 
Stopbit als Paritybit und den Ruhepegel als Stopbit.
Das funktioniert natürlich nicht wenn die Parität nicht stimmt, also 
hier bei dem 'r'.

Autor: eProfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und es dürfte nicht funktionieren, wenn Du mit voller Geschwindigkeit 
sendest, weil es dann keinen Zwischenraum (Ruhepegel) gibt. Es folgt 
sofort das nächste Startbit.

Dann sollte es einen PE (Parity Error) und einen FE (Framing Error) 
geben.

Autor: Krisch Makaber (krischan111)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jepp, wenn ich ne Textdatei mit zwei 'a's schicke sind sie weg. Thanks, 
hätte nicht gedacht dass das so Knall auf Fall geht.
Kann ich die Fehler irgendwie auslesen?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HTerm gibt auf Wunsch Fehler aus (markiert die betreffende Stelle rot), 
findest Du im PC-Programmierung-Forum.

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.