Funktionsweise der seriellen Schnittstelle

Gast #4456076
Lesenswert?
• ▲
▼
Hallo kann mir mal jemand etwas zur seriellen Schnittstelle sagen?

Und zwar haben ich einen Sender und einen Empfänger.

Wenn der Sender jetzt Daten sendet was passiert dann mit den Daten beim 
Empfänger?

Muss der Empfänger auf jeden Fall zum Sendezeitpunkt den Port lesen oder 
werden die Daten irgendwie zwischen gepuffert bis der Empfänger das 
nächste mal die "mySerialPort.Read() - Methode" aufruft?
Gast #4456154
Lesenswert?
• ▲
▼
Jim M. schrieb:
> Auf einem kleinen µC ist eventuell nur das zuletzt gesendete Byte
> verfügbar, USB2Serial ICs für PC haben üblicherweise FIFOs, die
> 100e Byte groß sein können.

Auf kleinen µC kommt es zuweilen sogar vor, dass man sich auf der 
Empfängerseite um jedes einzelne Bit kümmt, z.B. bei Soft-SPI.
Gast #4456159
Lesenswert?
• ▲
▼
piUser schrieb:
> Muss der Empfänger auf jeden Fall zum Sendezeitpunkt den Port lesen

Das empfangene Zeichen steht beim Empfänger zur Verfügung, wenn das 
letzte Bit davon eingetroffen ist - also etwa eine Zeichenlänge später 
als der Start des Sendevorgangs. Das Zeichen muss ausgelesen werden, 
bevor das nächste zur Verfügung steht, man hat also etwas weniger als 
eine Zeichenlänge Zeit. Ist ein Fifo eingebaut für n Zeichen, hat man 
entsprechend länger Zeit, aber insgesamt muss man natürlich x Zeichen 
pro Sekunde abholen, wenn x Zeichen pro Sekunde gesendet werden. Daher 
sollte man, wenn die Verfügbarkeit angezeigt wird, nicht nur ein Zeichen 
auslesen, sondern alles was da ist.

Georg
Gast #4456174
Lesenswert?
• ▲
▼
Was ist für dich der Empfänger?

Normalerweise hat man 2 Ebenen. Die Hardware hat normalerweise nur 1 - 
16 Bytes an Puffer. Sofort nach Empfang holt eine Interrupt-Routine das 
Zeichen von der Hardware ab und schiebt es in eine Warteschlange für das 
Anwendungsprogramm.

Antwort schreiben

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.

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.