Gast
#129082
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