Forum: Mikrocontroller und Digitale Elektronik Datenmüll auf der RS232


von Daniel (Gast)


Lesenswert?

Hallo zusammen,
vielleicht kann mir ja jemand bei meinem Problem helfen. Seit längerer 
Zeit versuche ich nun schon Daten vom Atmega8 über die RS232 
Schnittstelle zu empfangen, jedoch bekomme ich immer nur Datenmüll. Habe 
das myAVR Board MK2 USB und benutze einen Max232 Pegelwandler wie es 
hier im Tutorial 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART angegeben 
ist.
Wie schon gesagt nur bekomme ich leider immer nur datenmüll und bin 
langsam so ziemlich ratlos.
Würde mich freuen wenn jemand von Euch ein paar gute Ideen hat.

Gruß
Daniel

von Falk B. (falk)


Lesenswert?

@  Daniel (Gast)

>Schnittstelle zu empfangen, jedoch bekomme ich immer nur Datenmüll.

Dann lies den Artikel SORGFÄLLTIG und LANGSAM und MACH was dort steht.

AVR-Tutorial: UART

Und dann noch dieser hier.

http://www.mikrocontroller.net/articles/AVR_Checkliste#UART.2FUSART

Wenn du ALLE Punkte KORREKT abarbeitest wird es laufen.

MFG
Falk

von Karl H. (kbuchegg)


Lesenswert?

Daniel schrieb:
> Hallo zusammen,
> vielleicht kann mir ja jemand bei meinem Problem helfen. Seit längerer
> Zeit versuche ich nun schon Daten vom Atmega8 über die RS232
> Schnittstelle zu empfangen, jedoch bekomme ich immer nur Datenmüll.

Datenmüll hat praktisch immer dieselbe Ursache.
Die Taktfrequenz des Mega ist entweder ungeeignet oder sie ist nicht auf 
dem Wert auf dem du denkst, dass sie ist.

von Martin V. (oldmax)


Lesenswert?

Hi
Letzten Beitrag kann ich bestätigen....
Aber ich hab es in den Griff bekommen. Da ich auch in Delphi 
Applikationen schreibe habe immer eine Kommunikation zum Atmega8. 
Wichtig ist: Baudrate, Datenbits, Stoppbits und Parity richtig.
Möglichst externen Quarz und Fusebits entsprechend. Zum Test, ob richtig 
übertragen wurde, einfach empfangenes Byte in der Empfangs-ISR des 
Controllers in eine Puffervariable schreiben, einen Empfangsbit irgendwo 
setzen und in der Hauptschleife den empfangenen Wert wieder 
zurückschicken. ( Empfangsbit löschen). Wenn das funktioniert, ist erst 
mal egal, ob Müll zurückgeliefert wird. Wichtig ist, der Controller hat 
was erkannt, das Bit gesetzt, den Wert zurückgeliefert und aufgehört zu 
senden. Programm im Controller soweit ok -, also nun an die Einstellung 
der Schnittstelle, wenn der Wert ungleich dem gesendeten ist. Ansonsten 
schickst du vermutlich andere Werte, als du erwartest.....
Gruß oldmax

von hmm.. (Gast)


Lesenswert?

Ein Oszilloskop bringt's

von Karl (Gast)


Lesenswert?

Hast du die Fuses richtig gesetzt? (Taktquelle richtig)

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.