mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR - Uart Output auf Input schalten?


Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich möchte mehrere UART Outputs mit einem Eingang verschalten. Da immer 
nur ein Devie Sprechen wird (Dafür sorge ich schon) interessiert mich, 
ob es nach dem initialisieren der UART noch möglich ist, TX auf Input zu 
schalten, damit kein Kurzschluss passieren kann...

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das steht im Datenblatt.

HTH

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die korrekte Antwort lautet: NEIN.
Du wirst dir etwas einfallen lassen müssen...

Machs doch wie der I²C:
      
           o 5V
           |
           -
          | | R
          | |
           -
           |
  rx1 -----o------------o----------------o----- rx2
           |            |                |
  tx1 --|<-'            |                '->|-- tx2
                        o----- rx3
                        |
                        '->|-- tx3
Die Dioden sollten solche vom Typ Schottky sein...
Warum das funktioniert: IDLE-Pegel auf TX ist high.

Eine Variante davon ist dann das hier:
      
  rx1 ------o-----------o----------------o------ rx2
         R  |           |                |  R
       .-[]-o           |                o-[]-.
       |    |           |                |    |
  tx1 -o-|<-'           |                '->|-o- tx2
          D             o------ rx3       D
                        | R
                        o-[]-.
                        |    |
                        '->|-o- tx3
                          D

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso? Kanst doch alles an der UART einstellen, nur das TX-enable-Bit 
nicht setzen.
Dann gilt die Definition über DDRx/PortX.
Und wenn du dann loslegen willst mit dem senden, setzt du eben vorher 
TXE.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die korrekte Antwort lautet: NEIN.

Die korrekte Antwort lautet: Kommt drauf an. Eigentlich wollte ich den 
TO dazu bringen, dass er mit der Information rausrückt, was er überhaupt 
für Hardware am Start hat. Davon hängt das nämlich nicht unerheblich ab.

Als Gegenbeispiel zu Deiner Behauptung liefere ich mal ein konkretes 
Beispiel: Den Atmega8A. Bei dem kann man den TxD-Pin zwar nicht 
unmittelbar auf Eingang schalten, aber man kann den Transmitter 
problemlos deaktivieren [1]. Dann übersteuert die UART den Pin nicht 
mehr, d.h. wenn man ihn auf Input setzt is da Kaas bissn.

Bei anderer Hardware mag das anders sein. Oder genauso. Oder ähnlich. 
Jedenfalls sollte es im jeweiligen Datenblatt (das nur der TO kennt) 
stehen :-)

HTH

[1] Kapitel 19.6.5 "Disabling the Transmitter" in 
http://atmel.com/dyn/resources/prod_documents/doc8159.pdf

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sollte das nicht gehen? Einfach den UART Transmitter wieder 
abschalten, wenn nicht gesendet werden soll.

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den Dioden scheint die schmerzfreieste Variante zu sein, da hätt 
ich auch selber drau kommen können. DANKE!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.