Forum: Mikrocontroller und Digitale Elektronik mega644 uart "ungenau", übertragt viel Schrott


von Nils (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe hier einen mega644 mit minimaler Beschaltung und er soll nur 
per UART (mit der lib von P. Fleury 
http://homepage.hispeed.ch/peterfleury/avr-software.html ) mit 9600 Baud 
das Beispielprogramm durchlaufen.

Wenn ich dann eine Taste im Terminal (Windows, Real Term) lange drücke, 
kommt oft das selbe Zeichen zurück (wie ja gewollt) aber auch viel Müll, 
siehe Anhang.

Die Beschaltung ist:
5V
Mega644 AREF/AVCC auf VCC
max232 mit 1µF Kondensatoren
12Mhz Quarz (im AVR Studio und #ifndef F_CPU.... angepasst) + 22pF 
Kondis
Pullup an Reset, Taster Reset-Masse

Ich hoffe das is einfach erklärbar... Da ich einen Bootloader statt 
meinen popligen LPT-Adapter verwenden wollte, wäre mir der UART schon 
wichtig. Vorallem ist auch die Kommunikation per Bluetooth eingeplant, 
da sollte das schon laufen...

von Mike J. (emjey)


Lesenswert?

Bei mir läuft der mit 57600 Baud flink und ohne Fehler durch.
Und das obwohl ich 1.8m Verlängerungskabel habe und 50cm Flachbandkabel 
vom "RS232(+-12V) auf UART(0V/5V) Konverter" zur Platine gehen.

Ebenfalls mit 12MHz und UART0.

Kontrolliere mal ob du nicht zufällig die Fuses falsch eingestellt hast 
und dein Controller mit 8MHz läuft.

Oder zeig mal was du mit PonyProg ausliest.

von Pete K. (pete77)


Lesenswert?

Kommen denn die Zeichen zurück, wenn Du TX und RX im Sockel brückst 
(ohne 644)?

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Kommen am PC genau so viele Zeichen an, wie vom Mikrocontroller gesendet 
werden?
Ich würde mir das am Oszi anschauen, falls verfügbar.
Wie  Mike J. schon sagt, ist es sehr wahrscheinlich, dass die Fuses 
nicht stimmen und der Controler nicht mit den 12 MHz läuft.

Grüße,

Peter

von Ernestus P. (malzeit) Benutzerseite


Lesenswert?

Wie schaut es mit der Masseverbindung aus? Wahrscheinlich hast du die 
serielle Schnittstelle und das Programmiergerät gleichzeitig 
angeschlossen und eventuell noch Netzteil oder Oszi über die Erdung. 
Dadurch entsteht eine Masseschleife die viele Störungen einfängt.

Da der PC geerdet ist wenn möglich alle anderen Masse- und 
Erdverbindungen auftrennen bis auf das serielle Kabel.

von GG (Gast)


Lesenswert?

Servus,


Nils schrieb:
> 12Mhz Quarz (im AVR Studio und #ifndef F_CPU.... angepasst) + 22pF


Ein 12Mhz Quarz ist für ein Uart nicht das Beste (sollt aber mit etwas 
Ungenauigkeit auch funktionieren)!

Ein Quarz mit 11059200 ist definitiv besser.

Gruß GG

von Falk B. (falk)


Lesenswert?


von Sebastian R. (sebr)


Lesenswert?

Ähnlichen Fehler hatte ich auch schonmal - kontrollier mal den MAX232 
bzw. dessen Beschaltung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.