www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Uart tickt nicht richtig? ;)


Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

Ich habe in meinem STK500 einen ATTiny2313 auf dem angehängtes Programm 
läuft:

Ein Byte wird aus dem USART gelesen und anschliessend wieder 
zurückgesendet. (alles in einer while schleife, die UART funktionen habe 
ich unverändert dem Datenblatt des 2313 entnommen)

Einstellungen fürs UART am µC: 9600 Baud, 8 Bit Daten, 2 Stop Bits,
8Mhz internal RC Oscillator, startup 14CLK+65ms, spi enabled alles 
andere disabled (kein häckchen im AVR Studio)

Auf dem PC läuft Br@y++ Terminal.
Mit denselben Einstellungen wie im tiny bekomm ich nur <0> :(
Nach viel rumprobieren hab ich allerdings rausgefunden: 300 Baud, 7 
Daten Bits und 2 Stop Bits - es funktioniert!

- darf ich fragen warum?

BTW: kann mir vlt einer erklären wie das mit dem Oscillator Calibration 
byte im AVR Studio funktioniert? hab da so nen verdacht...

thx pk

Autor: vielleicht so (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Interner RC & UART ... keine gute Idee.

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die 'CKDIV8' - Fuse 'rausgenommen?
Mit dem internen Oszillator ist der UART-Betrieb Glückssache. Du 
solltest einen Quarz benutzen.

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
der interne Takt ist nicht so das Wahre für den USART.
Nimm nen externen Quarz dann sollte das bei 9600 Baud auch ohne Probleme 
gehen.

Gruß

Autor: Andreas W. (geier99)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht so wrote:
> Interner RC & UART ... keine gute Idee.

stimmt :-(

aber, wenn er zumindest mit dem AVR-Studio das CAL-Byte für seinen Takt 
ausliest,  und dieses dann direkt ins EEPROM programmiert. Sollte er in 
seiner Init-Routine legendlich diese EEPROM - Adresse  auslesen und den 
Wert im  OSCAL-Register ablegen.

Zumindest im Zimmer sollte er damit gut durchkommen :-)

Ich hatte bis jetzt damit noch nie Probleme gehabt,
 und das mit einer 19200-8-N-1 Schnittstellen Konfiguration.

Bye
Andy

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm hab ja den tiny auf dem STK500, also flink die fuse auf "Ext. 
Crystal Osc. 8.0- MHz; startup 14CLK + 65ms" geändert, jetzt krieg ich 
mit vorigen Einstellungen "X@xX^~~", mit den gleichen wie am µC <0>.

Autor: Matthias R. (mnr)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst doch die vom STK generierte Standardfrequenz nehmen 
(3.64...MHz). Die ist 100% für die krummen Baudraten geeignet.

Gruß,
Matthias

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fuse gesetzt auf Ext. Clock; startup 14Clk + 65ms
Auch mit Clock Generator auf 3686400 funktioniert es nicht (-> "<0>")

Habe für X@xX^~~ vorhin übrigens "Hallo Welt!" gesendet.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Laurenz Altenmüller (panzerkeks)

>Fuse gesetzt auf Ext. Clock; startup 14Clk + 65ms
>Auch mit Clock Generator auf 3686400 funktioniert es nicht (-> "<0>")

Du musst auch F_CPU auf den richtigen Wert im Quelltext setzen, neu 
compilieren und brennen.

MFG
Falk

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die 'CKDIV8' - Fuse 'rausgenommen?

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja

Autor: Zens Uhr (panzerkeks) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ falk hab ich gemacht.

Hab spaßeshalber mal nen anderen 2313 probiert, bei dem ging allerdings 
nicht mal der trick mit den einstellungen (siehe 1.post) ?

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.