UART und Datenmüll

Gast #131221
Lesenswert?
• ▲
▼
Hallo Leute,

ich arbeite gerade das Tutorial durch und habe Probleme mit dem UART
(Kapitel 6). Der PC empfängt nur Datenmüll. Ich habe schon verschiedene
BAUD-Raten probiert - hilft nix. Meine Hardware ist ein ATMEGA8 und das
Board und den Programmieradapter hab ich hier aus dem Shop. Als
Software verwende ich das AVR-Studio, Pony-Prog und terminal.exe. Ich
habe die Fuse-Bits auf den externen Oszilator abgeändert - leider auch
ohne Erfolg. Hier im Forum hab ich zwar das Problem (Datenmüll kommt
an) gefunden, aber keine passende Lösung.
Im Anhang hab ich noch ein paar Screenshots. Das Programm ist
uart-mega8.asm (siehe Tutorial).

Ich danke schon mal für eure Hilfe.
Angehängte Dateien:
Gast #131222
Lesenswert?
• ▲
▼
Einen Fehler hab ich gerade entdeckt - das Board hat einen 8Mhz Quarz
und keinen 4er :). Hilft aber auch nix. Der Datenmüll siht nur
gleichmäßiger aus. Er sendet jetzt 7 Zeichen (was auch richtig ist),
aber die falschen.
Gast #131225
Lesenswert?
• ▲
▼
Das sieht sehr danach aus, daß was mit der Baudrate nicht stimmt. Ok,
deine Fuses sind auf externen Clock eingestellt, dieser beträgt 8MHz
(sicher?). Für 9600 Baud muß folgendes gelten:
UBRRL = 0x33 (hexadazimal)
UBRRH = 0
Berechnung gem. Datenblatt Seite 133. Hast du das so eingestellt?

Wenn möglich, messe die Baudrate mal mit dem Oszilloskop.

Gruß
Thorsten
Gast #131227
Lesenswert?
• ▲
▼
Hi Dave,
Danke schon mal für Deine Antwort. Ich glaube ich hab das Problem
gelöst. Ich muss immer zuerst das Terminal verbinden und dann den uC
starten - kann das sein ? Andersrum klappt es nicht (uC starten und
dann erst Terminal verbinden).
Gast #131229
Lesenswert?
• ▲
▼
Hi Thorsten,

die Register stimmen. Ich glaube es liegt wirklich daran, wie man die
Verbindung aufbaut. Versteh ich zwar nicht ganz, aber das mag daran
liegen das ich (noch :)) kein Bus-Experte bin.
Gast #131232
Lesenswert?
• ▲
▼
wenn ein hauptbestandteil uart ist, dann wäre es sinnvoll extra
uart-passende quarze zu verwenden.. bei hohen baudraten (sieht man in
meinem progrämmchen) wird der fehler bei schlechten frequenzen dann
schon größer und dann können übertragungsfehler auftreten.
wenn man dann noch die toleranzen der quarze miteinbezieht (der sender
tickt schneller, empfänger langsamer) und schon hat man nen kräftigen
prozentfehler ==> nix gut

bei kleinen baudrates isses aber recht egal

dave

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren