ich habe folgende timerroutine im atmega8 programmiert: setbit (TCCR0, CS00); // timer0 starten, alle 10 ms, teiler 1024 setbit (TCCR0, CS02); setbit (TIMSK, TOIE0); TCNT0 = 216; zu erwarten wäre jetzt ein overflow alle 10 ms, bei internem takt von 4 mhz. 4.000.000 / 1024 = 3906 takte am timer pro sekunde. = 3,9 takte am timer pro millisekunde, d.h. 40 takte alle 10 ms, der preloadwert ist somit 216. mein so programmierter timer läuft jetzt aber exakt auf 5 ms hinaus. also doppelt so schnell wie berechnet. das würde aber bedeuten, der atmega läuft intern auf 8 mhz. das kann ja wohl nicht sein oder? was kann sonst noch passiert sein? Gruß, Jan
warum kann das nicht sein? der interne oszi vom m8 kann doch mit 8mhz laufen...
ja danke :) ich dachte 4 mhz wäre das maximum, hatte wohl eine falte im monitor beim datenblattlesen...
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.