mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fragen zum UART


Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da ein paar Fragen zum UART. Verwende hier selbst einen 
Atmega88PA

1. In den Beispielen zu UART, die ich auch ausprobiert habe und die 
funktionieren, wird der Port in dem TX und RX ist das DDRn-Register (bei 
mir also DDRD) immer auf 0xff geschaltet, damit sind ja alle Pins als 
Ausgänge definiert. Rein vom logischen Verständnis her: Müsste RX nicht 
eigentlich ein Eingang sein? Oder wird der Konfiguration mittels TXEN 
und RXEN überschrieben und entsprechend angepasst?

2. Ich will ein Gerät bauen dass man später mittels der seriellen 
Schnittstelle auslesen kann an einem PC. Ständig wird das Gerät aber 
nicht am PC sein, sprich TX und RX des RS232-Chips werden nicht ständig 
am Kabel hängen sondern auch mal offen sein. Sollte man hierbei die 
beiden Pins von Hand (z.B. mittel Widerstand) auf 0V ziehen? Ich möchte 
vermeiden, dass da Pseudodaten zum Mikrokontroller kommen nur weil grad 
die Potentiale der nicht angeschlossenen RS232-Schnittstelle günstig 
waren und UART meint jetzt wird was übertragen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Köhler schrieb:
> Müsste RX nicht
> eigentlich ein Eingang sein?

Müsste es.

> Oder wird der Konfiguration mittels TXEN
> und RXEN überschrieben und entsprechend angepasst?

Ja, so ist es.  Sinnvoll wäre es trotzdem, den Pin auch als Eingang
zu konfigurieren, damit es keine Kollision auf der Leitung gibt, wenn
während der Initialisierungsphase das RXE-Bit noch nicht gesetzt
ist (bspw. während man die Initialiserung im Debugger durchläuft).

> sprich TX und RX des RS232-Chips werden nicht ständig
> am Kabel hängen sondern auch mal offen sein. Sollte man hierbei die
> beiden Pins von Hand (z.B. mittel Widerstand) auf 0V ziehen?

Nein, das ist nicht nötig.  Offene Eingänge sind bei RS-232 durchaus
üblich, solange nichts angesteckt ist.  Der nötige Pegel wäre übrigens
-(5...12) V.  Normalerweise würde man zur Detektierung ein zweites
Treiberpaar benutzen, und darüber DTR erkennen: wenn DTR aktiv ist,
dann existiert eine Gegenstelle, die etwas senden könnte, und diese
ist auch softwaremäßig bereit.  Das müsstest du am AVR allerdings auf
einen normalen IO-Pin routen, der UART-Block besitzt dafür keine
eigenen Pins.

Autor: Kurt Harders (Firma: KHTronik) (kurtharders)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,
wie Du vermutest die Signale TX und RX werden automatisch zu Ein- bzw. 
Eingängen. Ich selbst habe mir aber angewöhnt, das auch in der 
Initialisierung der Richtungsregister zu dokumentieren.
Wenn Du die serielle Schnittstelle an den PC anschließen willst, musst 
Du ja noch einen Pegelwandler ergänzen. Die Ausgänge dieses Wandlers 
haben dann, auch wenn sie offen sind, einen definierten Pegel, ausser Du 
hast extreme Störquellen in der Umgebung. In dem Fall solltest Du 
allerdings über andere Anbindungen (Stromschleife, RS485...) nachdenken.
Grüße, Kurt

Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dank euch, das beantwortet alle meine Fragen. Kritisch ist die Umgebung 
nicht, muss nur später stoßfest, hitzebeständig und wasserfest 
sein....für den Fall, dass ich mal meinen Kaffee verschütte oder vor 
Schreck den Hammer fallen lasse. ;):D

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.