Forum: Compiler & IDEs UART: PIN wird auf High gezogen


von Paul Breitner (Gast)


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 ;)

von Stefan E. (sternst)


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.

von Paul Breitner (Gast)


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 :)

von Noname (Gast)


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.

von Karl H. (kbuchegg)


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.

von Noname (Gast)


Lesenswert?

Ha! Ein paar Millisekunden schneller als Karl Heinz. Wo ist mein 
Kalender?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.