www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit der Uart-Kommunikation


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

Bewertung
0 lesenswert
nicht lesenswert
hallo
ich habe ein Problem mit meinem Uart.

ich benutze ein Atmega328p.

Einstellungen sind wie folgt. 9600 , 8bit, 1 stopbit, keine parität
Ich versuche ewig eine Kommunikation zw. der STK500  und der 
Hyperterminal eine Verbindung auf zu bauen   aber ohne Erfolg.
Das Programm soll einfach das eingetipte Zeichen am Hyperterminal 
zurücksenden(echo).
Ich weiß wirklich nicht woran die Kommunikation scheitern kann.
Die Baurate im software ist auch 9600bps.
Hat jemand schon eine Kommunikation mit der Hyperterminal gemacht

kann mir jemand helfen und sagen woran es liegen kann ?
Danke für jede Hilfe

Karl

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

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:

> kann mir jemand helfen und sagen woran es liegen kann ?

Die häufigsten Fehler sind

* Dein µC läuft nicht auf der Taktfrequenz, die du mit F_CPU angegeben
  hast.

* Das Kabel ist nicht richtig gekreuzt oder ungekreuzt.

Für ersteres:
Du kannst ja mal mittels _delay_ms eine LED zum Blinken bringen. Da 
_delay_ms ebenfalls F_CPU zur Berechnung der Wartezeiten benutzt, gibt 
das eine grobe Abschätzung, ob der µC tatsächlich mit der angegebenen 
Taktfrequenz läuft.

Für letzteres:
µC aus dem Sockel nehmen und die Prozessorpins Tx und Rx mit einem 
Stückchen Draht verbinden. Danach am Hyperterminal ein paar Zeichen 
tippen. Die Brücke macht genau dasselbe wie dein Programm: Es sendet 
alle Zeichen zurück. Genau genommen sendet sich Hyperterminal dann 
selbst Zeichen. So kann man die komplette Hardwarekette vomn PC über das 
Kabel über den Max232 bis zum Prozessorsockel und auf der anderen Seite 
wieder zurück zum PC testen. Ist alles in Ordnung, gibt Hyperterminal 
die Zeichen (die es sich selbst gesendet hat) aus. Sieht man nichts, 
dann legt man einen Stein auf die PC Tastatur so dass Hyperterminal 
ständig sendet und geht mit einem Voltmeter (an dieser Stelle ist eine 
LED besser, weil sie flackert und man das besser sieht) die komplette 
Hardwarekette vom PC weg durch und sieht nach, wo das Signal 
verschwindet.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es raus bekommen.
ich musste anstatt der CLtr RS232, der Spare RS232 nehmen. Und Danach 
die Pin TxD und RxD vom Spare Rs232 auf dem Board mit den Pin PD1 und 
PD0 vom µC.

so geht die verbindung.
thks
Karl

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.