Hi,
im beispiel von Peter Dannegger in der comfort Entrprell-Routine, wird
der ISR( TIMER0_OVF_vect ) alle 10ms ausgelöst (Deklaration im
Quelltext). Aber wie muss ich das rechnen.
1 | ISR( TIMER0_OVF_vect ) // every 10ms
|
Er hat ne Frequenz von 1 MHz. Ich denke mal das ist ein 8 Bit Register
was er verwendet. Den Teiler hat er auf 1024 eingestellt.
1 | int main( void )
|
2 | {
|
3 | DDRB = 0x00;
|
4 | PORTB = 0xFF;
|
5 |
|
6 | TCCR0 = (1<<CS02)|(1<<CS00); // divide by 1024
|
7 | TIMSK = 1<<TOIE0; // enable timer interrupt
|
Ich rechne das so 1 MHz / 1024 = rund 1 KHz
Das ich für ein 8 Bit Interrupt 256 Zyklen brauche sind das doch dann
irgendwie 1 KHz / 256 Zyklen = das sind 3,90 Hz pro Interrupt !?
In Sekunden würde ich das hoch - 1 rechnen und auf 0,256 Sekunden
irgendiwe, als 25,6ms für ne Interrupt.
Ich hab da irgendwie nen Gedankenfehler kann mir jemand helfen???