www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem: USART mit ATMega 644


Autor: Kevin K. (nemon) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich wage derzeit meine ersten Schritte mit einem Mikrocontroller. 
Zunächst geht es drum, Zeichen über den USART an den PC zu schicken. 
Angedacht sind 115200 Baud bei 18,432MHz CPUTakt. Also hab ich mir 
entsprechend Codebeispiele angeschaut, den µC auf das STK500 geschnallt, 
einen RS232->USB-Wandler von Prolific angeklemmt und das folgende 
Progrämmchen geschrieben, welches stumpf hochzählt und mir entsprechend 
rutnergeteilt mir den aktuellen Wert auch brav über die LEDs des STK500 
ausgibt. Nun war meine Idee, die von 0..255 hochzählende Variable an den 
PC zu schicken und mit HTerm auslesen zu lassen. Bei HTerm kommt jedoch 
nichts an. Habe leider kein Oszi zur Hand, mit dem ich auf der 
RS232-Seite schauen kann, ob überhaupt Daten rüberkommen. Ja, ich habe 
viel gelesen, wie das funktionieren sollte, aber irgendwass scheine ich 
übersehen zu haben. Wär ganz nett, wenn mir da jemand den entscheidenden 
Hinweis geben könnte.
Ich habe CKDIV8 abgestellt und der µC läuft auch mit dem externen Takt, 
jedenfalls ist das Lauflicht langsamer, wenn das Quarz langsamer ist.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kevin K. schrieb:

Schuss ins Blaue:
Kreu mal dein Kabel aus (Pin 2 mit Pin 3 an einem Ende des Kabels 
vertauschen).

> Habe leider kein Oszi zur Hand, mit dem ich auf der
> RS232-Seite schauen kann, ob überhaupt Daten rüberkommen.

Brauchst du auch nicht.
Baudrate runter und mit einer LED (samt Vorwiderstand) an die Leitung 
gehen. Das Blinken sieht man.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du zählst zaehlerb zweimal hoch.  Dort, wo Du es auf 0 abfrägst, kann es 
nie 0 sein, sondern immer eine ungerade Zahl: 1, 3, 5, ..., 255, 1, 3. 
... .  Deshalb wird nie eine Sendung getriggert.

Mit vernünftigen Einrückungen im Quelltext wäre das leichter zu 
entdecken gewesen.  Leider sind bei Dir Befehle, die auf derselben Ebene 
stehen, prorammtechnisch nicht unbedingt im selben Block.  Für das 
Inkrementieren von zaehlerb stimmts zwar, aber da ist die Verwirrung 
schon angestiftet.  Mach es Dir und anderen Lesern nicht unnötig schwer.

Autor: Kevin K. (nemon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also mal die LEDs vom STK an den Port mit dem USART gehängt LED1 blinkt 
sehr schnell und recht schwach. Es scheint also, als dass der Pin sendet 
und dabei die meiste Zeit auf High-Pegel ist.

Habe mir jetzt ein Nullmodemkabel gelötet (nachdem ich unter 18 
gefundenen seriellen Kabeln KEINS gefunden habe (!)), also Pin2 mit 3 
verbunden und andersrum, sowie Pin 5 (GND) 1:1 verbunden, damit kommen 
aber auch keine Daten an. Mein DMM zeigt im Gleichspannungsmodus mir an 
Pin 15 (TxD) 4,9V an, was Vcc entspricht.

~edit~

ich geh mich begraben.... habe vergessen, auf dem STK den TxD-Pin mit 
dem Pin am Block D zu verbinden. Dementsprechend kam zwar aus dem Pin 
(wo ich auch gemessen habe) was raus, aber nicht am Pegelwandler an.

@Kalle: Danke für die schnelle Antwort, auch, wenn die nicht geholfen 
hat. Der USB/Seriellwandler kann direkt ans STK500 angeschlossen werden.

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.