mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART Tutorial Verständnisproblem


Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich arbeite gerade das Tutorial durch und bin nun bei UART angekommen.
Ich habe das Hyper Terminal eingerichtet und kann wenn ich z.B. das a 
drücke auch ein a sehen. Kryptische Zeichen habe ich nur sehr selten, 
aber das soll ja was mit der Baudrate zu tun haben wie ich gelesen habe.

Nun aber mein Verständnisproblem: Im Tutorial steht, daß in einer 
Endlosschleif die Zeichenkette 'Test!' an den PC übertragen wird. Wo 
genau soll denn diese Zeichenkette stehen? Ich würde ja ganz gerne 
Zeichen übertragen und nicht im Hyper Terminal meine Tastatur testen.

Kann mal bitte jemand Licht in das Dunkel meines Verständnis bringen?

Grüße

anfänger

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

Bewertung
0 lesenswert
nicht lesenswert
Von welchem Tutorial sprichst du?
Es gibt hier deren zwei

Einmal das AVR-Assembler Tutorial, das andere ist das
C Tutorial

Im Assembler Tutorial ist es diese Sequenz
loop:   ldi temp, 'T'
        rcall serout                      ; Unterprogramm aufrufen
        ldi temp, 'e'
        rcall serout                      ; Unterprogramm aufrufen
        ldi temp, 's'
        rcall serout                      ; ...
        ldi temp, 't'
        rcall serout
        ldi temp, '!'
        rcall serout
        ldi temp, 10
        rcall serout
        ldi temp, 13
        rcall serout
        rjmp loop

die den Text Buchstabe für Buchstabe versendet. Und da das
ganze in einer Schleife passiert, wird der Text immer wieder
wiederholt.

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das assembler tutorial meine ich

und meine frage war wo genau die Zeichenkette Test! zu sehen ist?
Im Hyper Terminal Fenster?

grüße

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

Bewertung
0 lesenswert
nicht lesenswert
anfänger wrote:
> das assembler tutorial meine ich
>
> und meine frage war wo genau die Zeichenkette Test! zu sehen ist?
> Im Hyper Terminal Fenster?

Ach so.
Ja natürlich. Wo denn sonst?

Dieser ganze Tutorialabschnitt dreht sich doch letztendlich
nur darum, dass das Anzeigegerät am anderen Ende der Leitung
etwas ausgibt, bzw. das das was am anderen Ende der Leitung
getippt wird über die Leitung zum AVR-Programm transferiert
wird.

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok

dann hab ich das wenigstens richtig verstanden und ich habe das problem, 
daß der Fehler irgendwo anders liegt, denn ich sehe kein Test!.
Ich versuche schon seit 3 Tagen dieses kleine Programm zum laufen zu 
bekommen und bin langsam mit meinem Latein am Ende.

Ich habe die AVR Checkliste 
(http://www.mikrocontroller.net/articles/AVR_Checkl...)
durchgearbeitet und ich kann einfach den Fehler nicht finden, also werde 
ich wohl weiter suchen müssen.

Grüße

Autor: sechszweifuenf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem Scope am TxPin des Prozessors kommt auch nichts ?

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

doch mit dem Scope kann ich ein Signal messen. Deshalb glaube ich, daß 
das Hyper Terminal nicht so funktioniert wie es wohl soll.
Ich habe hier im Forum gestöbert und alles so eingestellt wie ich es 
machen soll. (Parität, stop.., und flußkontrolle usw.)

Ich weiß echt nicht mehr was ich noch tun soll. Ich werde nochmal ein 
wenig mit der Baudrate rumspielen um sicher zu gehen, daß der Fehler wo 
anders liegt.


Grüße

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

Bewertung
0 lesenswert
nicht lesenswert
> Deshalb glaube ich, daß
> das Hyper Terminal nicht so funktioniert wie es wohl soll.

Viele schimpfen zwar auf Hyperterminal, aber auf eines
kann man sich verlassen: Das wofür es designed wurde, beherrscht
es.

> doch mit dem Scope kann ich ein Signal messen.
Das ist schon mal gut.
Kannst du das Signal auch noch nach dem RS232 nachweisen?

Es gibt jetzt noch ein paar Fehlermöglichkeiten.
Eine davon ist das Kabel. Vertausch einfach mal auf einer
Seite die Pins 2 und 3.
Hintergrund: Es gibt 2 Arten von Kabel. Die gekreuzten und
die nicht gekreuzten.
Bei einem gekreuztem Kabel ist der Pin 2 mit dem Pin 3 am
anderen Ende des Kabels verbunden (und umgekehrt) bei
einem nicht gekreuzten ist es ein direkter Durchgang.

Wenn du das falsche Kabel hast, dann kann nichts gehen,
weil der Sendeausgang vom AVR mit dem Sendeausgang des PC
verbunden ist und nicht, wie es sein muss, Sendeausgang mit
Empfängereingang.

Sobald du das richtige Kabel hast, sollte sich zumindest
am Hyperterminal irgendwas tun. Wenn du gleich den richtigen
Text siehst: Gratulation.
Wenn da aber wirre Zeichen durchlaufen, dann ist in praktisch
allen Fällen die Prozessorfrequenz nicht dort wo sie sein soll.
zb. Du hast zwar einen Quarz an den AVR angeschlossen, der
ist aber nicht aktiv und der Prozessor arbeitet immer noch mit
seinem werkseitig eingestellten 1Mhz RC-Oszillator.

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

Bewertung
0 lesenswert
nicht lesenswert
PS:
Ob das Kabel korrekt ist, kann man auch mit einem einfachen
Test prüfen:

Nimm den AVR Prozessor aus seinem Sockel (der ist doch hoffentlich
gesockelt).
Dann verbindest du im Sockel den Tx Pin mit dem Rx Pin laut
Pinbelegung deines Prozessors (über welchen reden wir
eigentlich?) mit einer Drahtbrücke. Wenn du nun im Hyperterminal
auf der Tastatur tippst (nicht vergessen im HT den 'connect
Button zu drücken. Das ist der mit dem Telephon und dem
aufgelegten Hörer) dann müssen die Zeichen von deiner
kastrierten Schaltung zurückkommen. Zum Gegentest mal die
Brücke entfernen: Das Echo muss ausbleiben.

Wenn das so funktioniert, hast du den kompletten Verbindungsweg
Kabel und RS232 geprüft und als funktionsfähig erkannt.
Dann bleibt nur noch die Taktfrequenz als mögliche Ursache.

Autor: anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,

ES funktioniert!!!!!

Danke für eure Hilfe!

Es lag an dem RS232 Kabel. Am Ende kam nichts mehr an.(Hatte natürlich 
vorher nur am MAX gemessen). Hab mir ein neues Kabel gekauft und nun 
schnurrt die Katze!

Grüße und Danke nochmal

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ anfänger (Gast)

>Es lag an dem RS232 Kabel. Am Ende kam nichts mehr an.(Hatte natürlich
>vorher nur am MAX gemessen).

Dann war das

>Ich habe die AVR Checkliste
>(http://www.mikrocontroller.net/articles/AVR_Checkl...)
>durchgearbeitet und ich kann einfach den Fehler nicht finden, also werde

eine falsche Aussage. In der Ruhe liegt die Kraft.

MFG
Falk

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.