Forum: Mikrocontroller und Digitale Elektronik CKDIV8 aus: _delay ungenau. CKDIV8 an: UART ungenau


von Stephan (Gast)


Lesenswert?

Guten Morgen Forum!

Ich verwende einen AT2560 bei 8MHz auf einem STK600 mit AVRStudio.
Die UART soll mit einer Baudrate von 9600bd laufen.

Gemäß Rechnung ist
UBRR0L = 52;
und
#define F_CPU 8000000UL

Bei gesetztem Clockteiler arbeitet die UART mit einer falschen Baudrate 
von 1200 und die delay-Funktionen liefern korrekte Zeiten,
bei gelöschtem Clockteiler arbeitet die UART mit korrekter Bausdrate 
aber die _delay-Funktionen sind zu kurz.


Ich habe versucht alle Foren zu durchforsten, bin aber auf kein 
entsprechendes Problem gestoßen. Weiß wer Rat?

Beste Grüße
Stephan

von Electronics'nStuff (Gast)


Lesenswert?

Stephan schrieb:
> aber die _delay-Funktionen sind zu kurz.

Für die Delay Funktion musst du den Systemtakt definieren mit einem 
define.
Abgesehen davon sind die _delay-Funktionen sowieso ziemlich ungenau.

von Εrnst B. (ernst)


Lesenswert?

Kompiliert's denn ohne Compiler-Warnungen, insbesondere ohne "F_CPU 
redefined..."?

von Stephan (Gast)


Lesenswert?

Electronics'nStuff schrieb:
> Für die Delay Funktion musst du den Systemtakt definieren mit einem
> define.

Hab ich doch!

Stephan schrieb:
> #define F_CPU 8000000UL

Genauigkeit ist nicht so wichtig.

von Electronics'nStuff (Gast)


Lesenswert?

Stephan schrieb:
> Hab ich doch!

Ah, sorry.

Warnungen?

von Stephan (Gast)


Lesenswert?

Electronics'nStuff schrieb:
> Warnungen?

Keine!

von Stephan (Gast)


Lesenswert?

KOMMANDO ZURÜCK!
Plötzlich klappts!
Habe die F_CPU an falscher Stelle stehen gehabt, nun ist alles gut!
Danke vielmals!

von Stefan E. (sternst)


Lesenswert?

Stephan schrieb:
> Electronics'nStuff schrieb:
>> Für die Delay Funktion musst du den Systemtakt definieren mit einem
>> define.
>
> Hab ich doch!

Deiner Symtombeschreibung nach aber wohl erst nach dem Inkludieren der 
delay.h.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.