www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny2313 USART / Hyperterminal interpretiert falsche Zeichen


Autor: Multi Kulti (multikulti)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,
ich möchte mich ein wenig mit der USART Schnittstelle vertraut machen, 
und habe ein kleines Programm geschrieben das Zeichenketten an den PC 
senden soll. Der quellcode ist im Anhang. Ich habe 2 verschiedene 
Methoden ausrobiert, eine davon ist auskommentiert.

Das programm scheint soweit auch zu funktionieren, der Controler sendet 
munter, jedoch kommt beim Hyperterminal nur Schrott an. Der 
interpretiert seltsame zeichen in die Daten. Im Program ist extra eine 
synchronisationszeit einprogrammiert, daran kann es eigentlich nicht 
liegen. Außerdem müsste sich der HypertTerminal spätestens nach einem 
Reset synchronisieren.
Das Format ist standartmäßig auf 8 bit und 1 Stoppbit. Am UCSRC Register 
verstell ich eigentlich nichts, ich habe lediglich mal probiert ob das 
ganze im Synchronmodus funktioniert.
Ich habe mit dem Osziloskop mal verschiedene Zeichen durchgemessen. Die 
Bitmuster entsprechen alle ihrem Wert und die Baudrate müsste auch 
stimmen.
Beim Hyperterminal habe ich eigentlich auch alles richtig eingestellt ( 
8 bit, keine Paritätsprüfung, 1 stoppbit, keine Flussteuerung )
Ich habe die Baudraten 2400 und 9600 ausprobiert, der Oszilator 
osziliert mit 3,686 MHz.

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CKDIV8 noch gesetzt? Ansonsten wäre Quellcode(sic!) hilfreich.

Autor: Multi Kulti (multikulti)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hopla, hab versehentlich die .aps datei angehängt anstadt die .asm 
Datei. Jetzt müssts aber die richtige sein.

An CKDIV8 hab ich auch schon gedacht, der ist nicht gesetzt. Außerdem 
hab ich die Baudrate ja mit dem Osziloskop überprüft. Die müsste 
eigentlich stimmen.

Ich benutze übrigens das STK500

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie ist der AVR mit dem Rechner verbunden ?

Sascha

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

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Gegenstelle etwas anderes empfängt als der Sender sendet, dann 
liegt das zu 99% praktisch immer daran, dass der µC nicht mit der 
Taktfrequenz arbeitet mit der der Programmierer rechnet.

Das kann jetzt zb sein, weil der µC immer noch auf internen Oszillator 
steht und nicht auf externem Quarz.

Programmier dir doch einfach mal eine Warteschleife, mit der du eine LED 
blinken lässt. Leg deine 3.irgendwas Mhz zugrunde und berechne das Ganze 
so, dass die LED 1 Sekunde an, 1 Sekunde aus ist. Und dann siehst du dir 
das Blinken an und entscheidest ob das Timing stimmen kann. Ob die 
Taktfrequenz aufs letzte Herz stimmt, kannst du damit natürlich nicht 
feststellen, aber den Unterschied zwischen 1Mhz und 3Mhz sieht man dann 
schon sehr deutlich :-)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wieder mal ein UART-Problem. Das 1002te.

http://www.mikrocontroller.net/articles/AVR_Checkl...

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.