mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART (RS232) klappt nicht


Autor: Peter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hey Leute!

Ich will mich ein wenig mit µC-Programmierung befassen.. in letzter Zeit 
habe ich mich an UART versucht. Könnt ihr vielleicht mal einen Blick 
über meinen C-Code werfen? Das wäre super. Bin etwas ratlos. Wenn ich µC 
und PC miteinander verbinde -- im HyperTerminal kommt nix an! Liegt's 
eventuell an der Baudrate / Frequenz (bzw. am prozentualen Fehler)? Ich 
verwende den internen 8 MHz Takt beim Atmega8. :(

Danke euch!

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dass gar nix ankommt klingt zwar komisch, aber bitte schau dir erst 
diesen Artikel an:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
Da ist ein kurzer Absatz der mit roter, fetter Schrift ("WICHTIGER 
HINWEIS!") beginnt!
"Auf Grund permanent wiederkehrender Nachfrage sei hier..."

Autor: Hefebrot (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein UART nimmt man immer folgewndermassen in Betrieb :
-repetitives Senden eines Characters vom Controller zB 0x62 und messen 
mit dem Oszilloskop.
-Senden einses Strings zum Hyperterminal.
-Echo eines Characters, der vom PC kommt.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ gast (Gast)

>Da ist ein kurzer Absatz der mit roter, fetter Schrift ("WICHTIGER
>HINWEIS!") beginnt!
>"Auf Grund permanent wiederkehrender Nachfrage sei hier..."

Vielleicht muss er noch grösser sein. Und blinken. Und Sirensound dazu 
abspielen. Oder vieleicht ein Rap-Video? Grandmaster RC-O into the Mike 
Proz aint cool man!!!! Natürlich optisch zielgruppengerecht mit T*****en 
hinterlegt ;-)

Huch, wo bin ich?

MFG
Falk

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

Bewertung
0 lesenswert
nicht lesenswert
Wenn gar nichts ankommt, dann könnte es auch ein
Hardware Problem sein.
Eine fehlerhafte Baudrate erkennt man meist daran, dass
am Terminal unsinnige Zeichen erscheinen. Wenn aber gar
nichts ankommt, dann würde ich mal die ganze Verkabelung
testen.

Einfacher Test:
Nimm den Prozessor aus dem Sockel. Verbinde im Sockel
den Tx Pin mit dem Rx Pin durch eine Drahtbrücke.
Wenn du jetzt im Hyperterminal Tasten drückst, dann
laufen die durchs Kabel, durch den Pegelwandler (Max232)
zum µC Sockel. Dort dann über deine Drahtbrücke und
ab gehts in die Gegenrichtung zurück zum PC.

Siehst du mit der Drahtbrücke immer noch keine Zeichen,
dann hast du ein Hardwareproblem. Untersuche mal ob
dein Kabel korrekt ist (gekreuzt - nicht gekreuzt)

PS: Im Hyperterminal muss die 'Flusssteuerung' auf 'keine'
stehen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So hab den Takt mal auf den externen Quarz gelegt. Kommt leider immer 
noch nix an. Braucht man jetzt ein Nullmodemkabel oder ein "normales" 
Kabel? Laut Tutorial darf's ja KEIN Nullmodemkabel sein. Hatte ich aber 
dran (okay es war Selbstbau, aber sollte trotzdem gehen). Verstehe ich 
aber auch nicht warum das nicht geht. Allerdings tut's ein "normales" 
Kabel auch nicht. Es kommt wirklich rein gar nichts an. Ein Oszi hab ich 
leider auch nicht zur Hand! ;)

>Nimm den Prozessor aus dem Sockel. Verbinde im Sockel
>den Tx Pin mit dem Rx Pin durch eine Drahtbrücke.
Das werd ich glaub ich gleich mal probieren!

Im Quellcode hat wohl auch noch ein
#define F_CPU 8000000
gefehlt.

Danke euch allen soweit.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Nimm den Prozessor aus dem Sockel. Verbinde im Sockel
>>den Tx Pin mit dem Rx Pin durch eine Drahtbrücke.
>Das werd ich glaub ich gleich mal probieren!

Ja das klappt! Also kann ich den MAX232 als Fehlerquelle schon mal 
ausschließen, richtig? Bleiben eigentlich nur noch Verkabelung und 
Software, oder?

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

Bewertung
0 lesenswert
nicht lesenswert
Peter wrote:
>>>Nimm den Prozessor aus dem Sockel. Verbinde im Sockel
>>>den Tx Pin mit dem Rx Pin durch eine Drahtbrücke.
>>Das werd ich glaub ich gleich mal probieren!
>
> Ja das klappt! Also kann ich den MAX232 als Fehlerquelle schon mal
> ausschließen, richtig? Bleiben eigentlich nur noch Verkabelung und
> Software, oder?

Wenn das klappt, kannst du auch die Verkabelung ausschliessen.

Aber Vorsicht!
Hast du am PC das sog. lokale Echo abgeschaltet? Nicht dass du
die getippten Zeichen siehst, weil die lokal am PC ge-echot (blödes
Wort) werden.
Gegentest: Du tippst - Zeichen erscheinen. Du tippst weiter und
ziehst das Kabel ab - Zeichen bleiben aus.

Wenn das so ist, dann ist tatsächlich alles in Ordnung.

Wenn das so ist, dann hast du noch einen Fehler im µC.
Die häufigste Ursache ist nach wie vor: Quarz ist zwar am µC drann,
aber der µC arbeitet immer noch mit internem Takt.

Wenn du das ausschliessen kannst: Dann hast du einen Programmfehler.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn das klappt, kannst du auch die Verkabelung ausschliessen.
Autsch... Ich war wohl grad nicht ganz bei der Sache! :D

>Wenn das so ist, dann ist tatsächlich alles in Ordnung.
Jopp, kein Echo. :)

Danke dir. Werde mich weiter mit dem Problem befassen und ggf. 
berichten.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay. Muss an meinem C-Code liegen. Hab das Assembler-Code-Beispiel aus 
der Wiki genommen und das funktioniert.

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.