Uart tickt nicht richtig? ;)

OP Persönliche Seite #1001037
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
Angehängte Dateien:
#1001051
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
#1001131
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren