Uartproblem (ATMega8)

Gast #40855
Im Vorfeld möchte ich anmeken das ich noch ein absoluter neuling auf dem
gebiet der Mikrocontroller bin.
Aber hier mein Problem:
Ich habe die Schaltung des Uart-Tutorials dieser seite an meinen Avr
drangehängt. Soweit so gut.Dann hab ich das passende programm
übertragen und wollte schaun ob etwas ausgegeben wird("Test!") aber
Fehlanzeige obgleich obwohl eine angehängte Kontroll-led sehrwohl
aktivität zeigte. Nachdem ich das Program etwa zum  vierten mal neu
transferiert hatte machte es auch endlich was es sollte.
Doch einen Tag später funktionierte wiedereinmal gar nichts ohne das
ich irgendetwas verändert habe.

Woran könnte das liegen?

Ps: ich benuze AT-Prog und Avr Studio 3.56
Gast
Hi,

Hatte mal ähnliche Probleme mit einem 90AT2313.

Bei mir lags daran, daß ich den RxD-Pin nicht auf Input und den Txd-Pin
nicht auf Output gesett hatte. zusätzlich noch die Pulup´s gesetzt und
probleme waren weg!

lg,

Stefan
Gast
Umm, die UART-Pins werden aber automatisch definiert.  Wenn die UART
eingeschaltet ist, sind die entsprechenden Pins nicht für die normale
Portfunktion verfügbar.
Gast
Hi,

Hab im Datenblatt nochmal nachgelesen, die Richtung (input/outout) wird
vom Controller automatisch gesetzt. Die Pullup´s sollte man selbst
setzt. So ist es halt beim 90AT2313er.

lg,

Stefan
Gast
Naja, wer braucht normalerweise bei einer UART pullups?  Da gehört
ja sowieso ein Treiber davor (MAX232 o. ä.).  Lediglich wenn man
statt dieses Treibers mit paar einfachen Transistoren arbeiten will
(negieren muß man das Signal selbst dann, wenn man außerhalb der
RS-232 Specs mit 0/+5 V Pegel arbeiten will, was sehr oft gut
gehen kann), kann man vielleicht den Kollektorwiderstand durch einen
pullup ersetzen.  Dann sollte man aber nachrechnen, ob dessen geringe
Stromergiebigkeit zusammen mit der Schaltungskapazität nicht überhaupt
noch die gewünschte Datenrate hergibt.
Gast
Hi,

Ich gebe mich geschlagen, bei mir allerdings handelte es sich um die
Kommunikation zwischen 2 Controllern mittels UART. deshalb benötigte
ich die Pullups.

lg,

Stefan
Gast
Warum eigentlich?  Du verknüpfst doch einen Ausgang mit dem Eingang
des anderen dann fest?

Wenn beide Controller SPI können, kommt man damit allerdings
schneller.
Gast
Eigentlich sollte es gehen, aber ich hatte das Problem, wenn ich den
Pinn berürt hatte ist es gegangen wenn nicht, dann nicht immer.

Fals ich das richtig verstanden habe, muß man jedoch den Txd-pin auf
output setzten:

laut Datenblatt des 90AT2313´ers:"When TXEN is set, the UART
Transmitter will be connected to PD1, which is forced to be an output
pin regardless of the setting of the DDD1 bit in DDRD."

lg,

Stefan

Antwort schreiben

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