Empfangen beim UART zeitweilig ausschalten

Gast #62203
Lesenswert?
• ▲
▼
Kann man Manuell einstellen, daß der UART keine Daten annimmt
(empfängt)? Also am Anfang einer Procedure soll das Empfangen
deaktiviert werden und am Ende wieder aktiviert.

Habe ich das richtig im Datenblatt gelesen, daß das was mit dem 4. Bit
(Receiver Enable) im UCR zu tun hat?

Ich nutze Assembler und einen AT2313
Gast #62206
Lesenswert?
• ▲
▼
Hallo.

Aus- und Einschalten vom Receiver würde ich tunlichst nicht machen, das
gibt 100% maximalen Ärger. Mit dem Synchronisieren beim Startbit, mit
dem Anlaufen des Baudraten-Generators, usw. Abschalten bringt ja nix,
wenn der Sender nicht aufhört zu senden. Wenn Deine Routine so lang
dauert, dass Du Zeichen verlieren kannst, dann musst Du eben mit INT
arbeiten und alles in einen Ringpuffer im SRAM schieben. Alles andere
wird Murks.

Auch ein Hardware-(über RTS/CTS) oder Software-Protokoll kann gehen,
ist aber ein Heidenaufwand beim Implementieren. Und mit eins bis drei
Zeichen Verspätung bei der Reaktion muss man auch dann noch rechnen.

Aber sieh Dir erst mal die Zeiten an, die Deine Routine so braucht. Bis
das nächste Zeichen über die SIO-Schnecke kommst, kannst Du ganz schön
was abarbeiten.

MfG
Gerd
#62207
Lesenswert?
• ▲
▼
Da hat Gerd vollkommen recht.

Der einzig sinnvolle Grund, die UART auszuschalten, ist im Halb-Duplex,
wenn man nicht sein eigenes Echo empfangen will.
Dann hat man nämlich mit dem Sendeinterrupt nach dem Stopbit auch genau
den richtigen Zeitpunkt, um den Empfang wieder einzuschalten.

Ansonsten bewirkt Ausschalten nur Datenmüll.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.