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.
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.
ö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.
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
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.