Was kommt hinter den Stopbits bei RS232?

OP #1394490
Folgendes Problem taucht nicht auf, wenn man den Hardware-UART
eines Mikrocontrollers verwendet. Aber aus Verständnisgründen
habe ich es mit Software gemacht. Assemblerlisting hängt an.

Was ich nicht verstehe:
Was passiert eigentlich, wenn man auf der RS232-Empfängerseite EIN
Startbit, 8 Datenbits und EIN Stopbit eingestellt hat und der Sender
anstatt EINEM Stopbit eine beliebige Anzahl Stopbits sendet, sagen
wir 531 sendet und danach wieder ein Startbit mit 8 Datenbits folgt?

Ich war eigentlich der Meinung, dass das Stopbit das gleiche
Signal ist, als wenn auf der Leitung garnichts los ist. (logisch 1)
Also als ob man ganz einfach Sendepause hätte. Beim ersten Startbit
sollte sich das ganze dann wieder automatisch einsynchronisieren.

Tatsächlich kommt aber alles durcheinander, wenn ich versuchsweise
mehrere Stopbits sende.

Was muss man denn auf den Ausgangspin legen, wenn man eine
Sendepause einlegen möchte? Null oder Eins?
Angehängte Dateien:
Gast
Karl-alfred Römer schrieb:
> Was muss man denn auf den Ausgangspin legen, wenn man eine
> Sendepause einlegen möchte? Null oder Eins?

Hallo,

Sendepause ist eine durchgehende 1 - Stopbits gibt es überhaupt nur im 
Sinn einer Mindestdauer, also bei 1.5 Stopbits darf das nächste Startbit 
frühestens nach 1.5 Bitzeiten kommen.

Gruss Reinhard
Gast
> Tatsächlich kommt aber alles durcheinander, wenn ich versuchsweise
> mehrere Stopbits sende.
Tatsächlich ist es so, dass genau diese Aussage wesentlich 
informationsreicher sein könnte, damit es tatsächlich so ist, dass du 
wesentlich bessere Hilfe bekommst :)

Wie Reinhard schon beschrieben hatte, eigentlich ist ein Stopbit nur 
eine Mindestdauer für den inaktiven Zustand, deine 531 Stopbits danach 
dürften keinerlei Auswirkung haben.

Also, was genau kommt den "durcheinander"?

Ralf
OP
Danke für Eure Antworten.  Sie bestätigen meine Annahme, dass
es EIGENTLICH egal sein müsste, wieviele Stopbits ich sende,
weil sie im Prinzip nichts anderes sind, als eine durchgehende 1.

Auf eure bestätigenden Hinweise hin, habe ich gerade nochmal
mein Programm so abgeändert, dass nach dem regulären Stopbit
weitere 245 Stopbits gesendet werden. Und siehe da, es hat
geklappt. War also vorher nur ein Programmfehler.

>Also, was genau kommt den "durcheinander"?

Das war so:
Bei meinem Versuch, mehrere Stopbits zu senden, kamen nachher
andere Zeichen in HTerm an, als ich eigentlich gesendet hatte.

Aber das Problem ist ja jetzt gelöst und ich bin jetzt wieder
schlauer:))  Danke Euch!!!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.