Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage - atmega clock


von ich_bin_es (Gast)


Lesenswert?

Hallo,

ich habe ein Problem. Ich nutze einen Atmega 644. Ich nutze in meinem 
Pogramm die delay Funktion. Hierfür binde ich die delay.h ein.

Dort gebe ich an: #define F_CPU 8000000
da meine CPU ja standardmäßig ja mit 8 MHz getaktet ist.

Wenn ich jetzt aber LEDs in einem _delay_ms(500) Intervall toggle sieht 
es so aus, dass die LEDs alle 4 sek toggeln.

Übersehe ich hier irgendwo ein Prescaler o.Ä. Normalerweise sollten die 
doch auf 1 stehen.

Weiß jmd Rat?

Danke.
von Thomas E. (thomase)


Lesenswert?

ich_bin_es schrieb:
> da meine CPU ja standardmäßig ja mit 8 MHz getaktet ist.
Im Auslieferungszustand ist noch die 1/8 Fuse gesetzt.
D.h. der läuft mit 1MHz.

mfg.
von ich_bin_es (Gast)


Lesenswert?

öhm... 1/8 Fuse. Verbirgt sich da ein Register? Oder muss ich da ne 
Einstellung bei den FUSE-Optionen bei meinem ALL-AVR Programmer setzen 
(Dialoge wie beim JTAG mkII)

Ich habe bis jetzt immer nur gelesen, dass man mit den FUSES die 
oszi/clocks umschalten kann. (z.B. auf einen ext. takt )

P.S.: super schnelle Antwort.
von Jonathan S. (joni-st) Benutzerseite


Lesenswert?

ich_bin_es schrieb:
> mit den FUSES die
> oszi/clocks umschalten

Genau das willst Du doch ;)
Also musst Du das Fusebit, durch das der Takt durch 8 geteilt wird, 
abstellen. Schon werden aus 1MHz 8MHz. :)


Gruß
Jonathan
von ich_bin_es (Gast)


Lesenswert?

hmm ja stimmt. gerade gelesen. CKDIV8 setzt das wohl. Na da will ich 
nochmal die Brille putzen und schauen, ob ich den Knopf (o.Ä) finde.

Aber danke euch!
von spess53 (Gast)


Lesenswert?

Hi

>Na da will ich
>nochmal die Brille putzen und schauen, ob ich den Knopf (o.Ä) finde.

Lässt sich auch im Programm über das Clock Prescale Register (CLKPR) 
umstellen.

MfG Spess
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.