mikrocontroller.net

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


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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_Checkl...

Wenn du ALLE Punkte KORREKT abarbeitest wird es laufen.

MFG
Falk

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

Bewertung
0 lesenswert
nicht 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.

Autor: Martin Vogel (oldmax)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hmm.. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Oszilloskop bringt's

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Fuses richtig gesetzt? (Taktquelle richtig)

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.