mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART: Statt 'T' ein 'g' ???!!!


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche jetzt schon seit zwei Stunden die UART meines ATmega128
zum laufen zu bringen...sollte eigentlich nicht schwer sein - sollte
man meinen.

Senden tut das Ding auch schon, nur leider das falsche :-(

Ich sende ein 'T' und mein Terminal - Prog empfängt ein 'g'. Das
Tool arbeitet aber richtig - habs mit dem Oszi kontrolliert.

An was könnte es liegen?

Bin für jeden Hinweis dankbar.

Gruss, Tobi

Autor: Tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
machst du das ganze mit c oder in asm ?
externer qartz oder interner oszillator ?
hast du mal andere sachen gesendet und die richtig empfangen ?

von hier aus mit den wenigen Fakten die du mitgeteilt hast lässt sich
schwer sagen woran das liegt. Das ist in etwa so als ob du in der
Autowerkstatt anruft und denen sagst mein Auto springt nicht an, woran
kann das liegen.

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, seh ich ein :-)

Der µC Steckt auf nem STK501 und wird mit 8MHz getaktet (also intern).
Programmiert ist das ganze in C (Codevision Compiler).

Was richtiges Empfangen hab ich noch nicht.
Mit der Baud - Rate hab ich auch schon rum - gespielt, hat aber leider
nix gebracht. Format ist: 8Bit,1 Stop, kein P bei 9600 baud
d.h UBRRH = 0x0 und UBRRL = 0x33

Das Prog ist wirklich minimal und arbeitet mit Polling. Ich weiss
wirklich nicht was da dazwischen funkt

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
haste UBRSC (wie das auch heißt..) auch richtig eingestellt?

dave

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst UCSRB?!

UCSRB = 0x08

Sonst würde die UART ja überhaupt nix senden

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sende doch mal eine Zahl.Dann könnte man den Fehler besser einkreisen.
65 ist das "A"...

Autor: DerMax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du mit internem Oszillator arbeitest, sollte klar sein woran das
liegt oder? Wahrscheinlich noch nichtmal das Calibration Byte gesetzt
oder?
Setz das Kalibrierungs-Byte, nehm ne niedrigere Baud-Rate oder nen
externen Takt. Das STK500 stellt doch UART-freundliche Takte zur
Verfügung... :)

Autor: Burkart Lingner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
+---+           +-------+       +---+
g: | S | 1   1   1 | 0   0 | 1   1 | 0 | P
   +   +-----------+       +-------+   +--

   +-----------+   +---+   +---+   +---+
T: | S   0   0 | 1 | 0 | 1 | 0 | 1 | 0 | P
   +           +---+   +---+   +---+   +--

Die sehen sich so wenig ähnlich, daß ich nicht auf ein
Baudraten-Problem tippen würde.

Was genau sendest Du denn? Ein einziges "T" oder lauter "T"s
hintereinander?

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hatte vor längerer Zeit das gleiche Problem. Bei mir ist es
definitiev an der Baudrate gelegen, bzw. am Teiler. Es kann sein, dass
Du die UART falsch initialisiert hast. Oszilloskopier mal das gesendete
byte, und schau dann wie lange das gedauert hat, und rechne Dir darüber
dann die Baudrate aus.
So bin ich auf meinen Fehler gekommen.

Grüsse Markus

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.