Nabend. Ich möchte mit dem Timer1 eine Wartezeit von ca 1/4 s (at 16 MHz) realisieren. Folgende Einstellungen des Timer:
1 | TCCR1B=(1<<CS12)|(1<<CS10); // Clock/1024 |
2 | OCR1AH=62; |
Und die Wartefunktion sieht so aus:
1 | void warte(unsigned int ms) |
2 | {
|
3 | TCNT1L=0; // TCNT wird auf 0 gesetzt |
4 | TCNT1H=0; |
5 | TIFR=0; // Flag wird zurückgesetzt |
6 | while((TIFR&0b00010000)==0); |
7 | }
|
Die Wartefunktion wartet aber leider nicht so lang wie erwartet. Was mache ich falsch?