Gast
#2718971
Hallo Leute, ich möchte mit dem 8bit Timer jeweils einen Interrupt nach 10 ms erzeugen. Als µC verwende ich den AtMega644p mit 14.745600 MHz Quarz. Ich muss den TCNT0 mit einem bestimmten Wert vorladen. Folgende Rechnung habe ich gemacht : 14745600 / (1024 * 144) = 100 Das heißt, dass ich einen 1024 Prescaller und eine Zähldauer von 144 Takten brauche. Somit muss ich doch das TCNT0 Register auf ( 256-144)-1 = 111 vorladen, oder? Wenn ich mir aber im Entprell-Artikel (http://www.mikrocontroller.net/articles/Entprellung) die Formel TCNT0 = (uint8_t)(int16_t)-(F_CPU / 1024 * 10e-3 + 0.5); // preload for 10ms anschaue, dann erhalte ich für TCNT0 = 112 und nicht 111, wie ich es bei meiner Rechnung erhalten habe.