Forum: Mikrocontroller und Digitale Elektronik Was kommt hinter den Stopbits bei RS232?


von Karl-alfred R. (karl-alfred_roemer)


Angehängte Dateien:

Lesenswert?

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?

von Reinhard Kern (Gast)


Lesenswert?

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

von Ralf (Gast)


Lesenswert?

> 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

von Karl-alfred R. (karl-alfred_roemer)


Lesenswert?

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!!!

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.