Also, bei der asynchronen Datenübertragung gibt es ja Start und
Stoppbits, die ein Zeichen ein- und ausleiten.
Nun müssen sich beide Seiten ja vorher über die Protokollformalitäten
einigen. Das heißt ja eigentlich nur über die Länge der Zeichen, damit
der Empfänger meinetwegen weiß, dass er Bit 10 zB als Paritätsbit und 11
als Stoppbit zu interpretieren hat.
Wie läuft das denn genau ab?
Danke im Voraus!
Das musst Du entweder vorher bei beiden Geräten fest einstellen, was der
Normalfall ist. Oder aber Du machst eine automatische
Baudratenerkennung (bei Modems früher üblich), wobei vorher definierte
Zeichen gesendet werden um die Baudrate zu erkennen, siehe App Note
hier:
http://ww1.microchip.com/downloads/en/AppNotes/Autobaud%2000962a.pdf
@Xenu: Vielen Dank fuer die nützliche Quelle. Im Falle der
Baudratenerkennung müssen dann sicherlich auch beide Seiten wissen, dass
sie Baudratenerkennung nutzen und welche Zeichen sie zur Erkennung
benutzen, richtig?
Also gänzlich ohne vorher irgendwas einzustellen auf beiden Seiten, sei
es nun die Baudrate oder das aktivieren der autom. erkennung, gehts
nicht wenn ich das korrekt verstehe. Leuchtet ja auch ein.
Eine Kleinigkeit ist mir noch nicht klar.
Die Baudrate bzw Schrittgeschwindigkeit ist ja der Kehrwert des
Zeitfensters, das für jedes Bit bereitsteht (Zumindest wenn nur 2
Signalzustände möglich sind).
Die Baudrate muss ich also auf beiden Seiten gleich einstellen.
Woher weiß dann aber der Empfänger, nach wieviel Datenbits das Stoppbit
kommt?
Das muss ja auch noch eingestellt werden irgendwo. Also die Wortlänge.
Oder seh ich da was falsch?
Gar nichts muss eingestellt werden.
Sender und Empfänger starten mit dem kleinsten gemeinsamen Nenner. Auf
diesem werden die tatsächlichen Parameter ausgehandelt und anschließend
findet die Kommunikation mit diesen Parametern statt.
Nächstes mal besser googeln statt in diesem Anfängerforum zu posten.
Wenn du überhaupt keine Ahnung von einem Thema hast, bist du immer noch
klüger als die Stammbesucher hier, die meinen, sie wüssten alles, aber
nur Blödsinn posten.
> Sender und Empfänger starten mit dem kleinsten gemeinsamen Nenner. Auf> diesem werden die tatsächlichen Parameter ausgehandelt und anschließend> findet die Kommunikation mit diesen Parametern statt.
Korrekt, Ethernet z.B. macht das. Aber er meinte vermutlich USART bzw.
RS-232, und das macht das normalerweise nicht.
Richtig, ich meine zB RS232 und USART. Da hab muss ich also auf beiden
Seiten einstellen, wieviele Datenbits, Stoppbits, Paritätsbit ich hab
und die Baudrate?
Tzippy schrieb:> Richtig, ich meine zB RS232 und USART. Da hab muss ich also auf beiden> Seiten einstellen, wieviele Datenbits, Stoppbits, Paritätsbit ich hab> und die Baudrate?
Korrekt.
Das ist der übliche Weg. Die Einstellung macht men meistens nur 1-mal
(für eine bestimmte Verbindung), daher lohnt sich hier höherer Aufwand
nicht.
Die Sache mit den Modems ist eher so gelagert:
Erst mal braucht man dann auf dem Modem keine Einstellmöglichkeiten (Dip
Schalter oder sonstiges).
Zweitens kann dann auch Lieschen Müller ein Modem in Betrieb nehmen und
das ist für die Hersteller wichtiger, weil dann weniger Kosten in der
Hotline anfallen und das ist die paar Tage Programmierung für eine
Autobaud Funktion allemal wert.
Drittens liest heutzutage keiner mehr beigelegte Doku. Erst mal wird
angestecket, festgestellt das es nicht funktioniert (no na) und dann
entweder das Gerät zurückgeschickt oder die Hotline genervt. In beiden
Fällen hat der Hersteller dann die schlechte Nachrede.
TQXR schrieb:> Wenn du überhaupt keine Ahnung von einem Thema hast, bist du immer noch> klüger als die Stammbesucher hier, die meinen, sie wüssten alles, aber> nur Blödsinn posten.
Das schreibt gerade jemand, der zuvor die dümmst-mögliche Antwort
überhaupt gegeben hat. Offensichtlich noch nie mit einer seriellen
Schnittstelle in Berührung gekommen, aber völlig irreale Beschreibungen
abliefern. Ein neuer Tiefstpunkt in der Qualität der Postings hier (die
anderen wissen wenigstens, wovon die Rede ist oder haben sogar richtig
Ahnung).
Gruss Reinhard
Bald bin ich völlig verwirrt, aber ich werde jetzt einfach den
angemeldeten Usern vertrauen, die scheinen mir tatsächlich den Eindruck
zu machen, Ahnung zu haben =)
Danke euch!