UART: PIN wird auf High gezogen

Gast #2527756
Lesenswert?
• ▲
▼
Hallo,
bei der Initialisierung der UART-Schnittstelle wird der PORT D1 beim 
ATMEGA48 auf High gezogen.
Dies geschieht laut Simulator wenn ich die beiden Bits UCSZ00 und UCSZ01 
auf High schalte.
Dies kann man leicht nachvollziehen, wenn man die Bib von Peter Fleury 
verwendet und es mal test. Kann mir jemand dieses Phänomen erklären?

Danke :)

AVR-Studio 4
WIN-AVR von 2008

danke ;)
#2527767
Lesenswert?
• ▲
▼
Paul Breitner schrieb:
> bei der Initialisierung der UART-Schnittstelle wird der PORT D1 beim
> ATMEGA48 auf High gezogen.

Natürlich, ist ja auch schließlich der TXD-Pin.

Paul Breitner schrieb:
> Dies geschieht laut Simulator wenn ich die beiden Bits UCSZ00 und UCSZ01
> auf High schalte.

Nein, es geschieht, wenn TXEN gesetzt wird.

Paul Breitner schrieb:
> Kann mir jemand dieses Phänomen erklären?

High ist der Ruhepegel bei der UART-Kommunikation.
Gast #2528008
Lesenswert?
• ▲
▼
Hallo,
danke für die schnelle Antwort. Wenn ich mir den Signalverlauf auf dem 
Oszi anschaue, ist der Pegel am Ausgang vom MAX232(µC Richtung PC) nach 
dem Reset sofort High, und schaltet dann nach 72µs auf LOW. Die Ports 
beschalte ich auch nicht. Wo könnt ich noch dene Fehler suchen?
Ich müsste vielleicht noch erwähnen, dass ich bis zu 20 
Controller-Karten in Reihe geschalten habe und immer von TX(Karte1) nach 
RX(Karte2) und  TX(Karte2) nach RX(Karte3) usw...
die SW ist auf jeder Controller-Karte identisch.

Danke nochmals :)
Gast #2528021
Lesenswert?
• ▲
▼
Denkst Du dran, das die Pegel am uC invertiert ggü. den RS232-Pegeln 
erscheinen? Das also der MAX seinerseits die Pegel invertiert und nicht 
nur nach/von +- 12V wandelt?

Es hört sich so an, als wenn garkein Fehler vorliegt.
#2528022
Lesenswert?
• ▲
▼
Paul Breitner schrieb:
> Hallo,
> danke für die schnelle Antwort. Wenn ich mir den Signalverlauf auf dem
> Oszi anschaue, ist der Pegel am Ausgang vom MAX232(µC Richtung PC) nach
> dem Reset sofort High, und schaltet dann nach 72µs auf LOW.

Auch das ist normal.

AUf der RS232 sind die Pegel normalerweise -12V und +12V. Wobei -12V der 
inaktive Zustand ist.

AUf TTL-RS232 sind die Pegel 0 und +5V, wobei der inaktive Zustand +5V 
ist. Also genau umgekehrt.

Folgerichtig ist im MAX232 immer auch ein Inverter integriert, der die 
Logik entsprechend umdreht.

> beschalte ich auch nicht. Wo könnt ich noch dene Fehler suchen?

WElchen Fehler.
Aus dem bisher von dir Gesagten ergibt sich kein Fehler. Alles ganz 
normal.

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.