mikrocontroller.net

Forum: Compiler & IDEs Uartproblem (ATMega8)


Autor: Linus Meier (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan_h (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan_h (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan_h (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan_h (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, steht ja genau dort: Wenn TXEN an ist, dann ist der Pin
zwangsweise auf Output gestellt, egal was DDRD.1 sagt.

Autor: Stefan_h (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werd mal wieder English-pauken:-))

lg,

Stefan

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.