Gast
#1560909
Hallo, könnte mir jemand nur kurz bestätigen, ob ich richtig mit meiner Annahme liege? Ich möchte 5 Sekunden messen. Prozessor ist ein Atmega 8 auf 8Mhz Verwendung 8-bit Timer Prescaler: 8 --> 1000000 Ticks für 1 Sekunde, 1000 Ticks für 1ms Der 8-bit Timer zählt von 0...255 (also 256 Schritte). Für 1ms brauche ich also 4 overflows (1000/256=3,90625). Um den genauen Wert zu bestimmen rechne ich also mit 4 overflows --> 1024 Ticks. Sind 24 Ticks zu viel bei 4 Overflows. Also verteile ich die 24 Ticks auf 4 Overflow und müsste demnach den Timer mit 24/4=6 vorladen. Ist das so richtig? Dann hätte ich 1ms über eine if-Anweisung kann ich ja dann mir die Sekunden zählen lassen: ISR() ms_counter++ if (ms_counter >= 1000) sekunde++ //Hauptprogramm main() if (sekunde==5) //do sth Funktioniert das so? Danke&Gruß Christian