mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART Systematische Fehlersuche?


Autor: Torsten O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
G' Morgen, ich bin noch einer der versucht Daten eines Controllers an 
den PC bzw. Laptop via RS232 zu senden.

Ich habe mir dazu die Schaltung aus dem Tutorial aufgebaut und den 
Quelltext an meinen ATMega48 angepasst. Meine Einstellungen sind : 
8MHz, 9600, 8 Datenbits, 1 Stopbit, keine Parität.

Ich habe eine reale Baudrate von 9603 ermitteln, insofern sollte es da 
keine Schwierigkeiten geben. So, nun mal zu meinem Problem. Ich habe das 
Gefühl das rein gar nichts am Laptop ankommt. Ich habe innerhalb von 
drei bis vier Stunden testen lediglich mal zwei Zeichen empfangen, ich 
denke aber eher, dass das Zufall war - wo immer die auch herkommen 
mögen.

Gibt es denn eine Möglichkeit das komplette System Stück für Stück zu 
auf Fehler zu prüfen? Denn der (vielleicht sogar die) Fehler können ja 
vielfältig und überall stecken, in der Hardware, in der Software oder 
sogar am Laptop selber (wobei die Verbindungseinstellungen stimmen 
sollten).

Kann da irgendjemand Tipps geben? Vielen Dank im voraus.


lg Torsten

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es denn eine Möglichkeit das komplette System Stück für Stück zu
> auf Fehler zu prüfen?
Empfangsseite uC:
Erst mal die Hardware-Ebene auf Funktion überprüfen. Mit dem Oszilloskop 
am RX-Pin kontrollieren, ob auch tatsächlich Zeichen mit den 
eingestllten Parametern ankommen.
Dann das empfangene Zeichen auf einem 8-bit-Port (am besten mit LEDs) 
ausgeben. Passt das Bitmuster?

Sendeseite uC:
Immer das selbe Zeichen mit einer Pause dazwischen ausgeben. Mit einem 
Oszilloskop am TX-Pin messen, ob es tatsächlich mit den eingestellten 
Parametern abgeschickt wird.
Den Empfang mit einem vertrauenserweckenden Programm (nicht Hyperterm, 
besser HTERM oder OCConsole) am PC kontrollieren.

Wenn das klappt:
Mit dem Terminalprogramm ein Zeichen versenden, dieses mit dem uC 
empfangen und gleich wieder absenden. Ohne lokales Echo muß am PC jetzt 
jedes eingetippte Zeichen im Terminal erscheinen.

Autor: Felix Nachname (time2ride)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

teste doch erst mal die Hardware Schritt für Schritt. Nimm ein 
TerminalProgramm (HTerm) und verbinde erst mal direkt an deinem 
USB-RS232 Wandler (wenn vorhanden) sonst direkt an der RS232 
Schnittstelle des PC den RX und TX Pin (Pinbelegung: z.B. Wikipedia: 
RS232) und sende ein paar Zeichen. Wenn das geht, mache das gleiche 
hinter deinem RS323-TTL Pegelwandler (meist MAX232), wenn das auch geht, 
weist du zumindest dass deine Hardware geht.
Wenn dann noch Fehler auftreten liegt es an der SW.

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>...Quelltext an meinen ATMega48 angepasst

Und der ist garantiert fehlerfrei? Zeig doch mal. Und wie genau sieht 
deine Schaltung aus? Spannungsversorgung am Max232 nicht vergessen?

Ansonsten, wie die Vorredner schon sagten, messen. Wenn du kein Oszi 
hast, tut es auf der 5V-Seite auch die Soundkarte vom PC mit ein paar 
Vorwiderständen.

Oliver

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Torsten O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die vielen Tipps. Ich habe jetzt mal laut Checkliste die 
beiden Leitungen Tout und Rin verbunden und die Hardware mit einem 
Terminalprogramm getestet. Das "Test" was ich sende kommt auch als 
"Test" wieder an - Schlussfolgerung :  Hardware okay würde ich sagen.

Ich glaube ich schaue mir mal die Sache mit der externen Taktung an, von 
wegen stabil und instabil.


lg Torsten

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.