Gast
#1077136
Hallo,
ich habe hier ein vermutlich ganz einfaches Problem aber ich weiß
einfach nicht wie ich es lösen soll:
Timer 1 löst alle 100us aus, in der ISR ist dann ein switch der
Abwechselnd unterschiedliche Ding macht. Das Problem ist jetzt dass der
Timer immer erst wieder weiter läuft wenn die ISR verlassen wird, obwohl
ich die neuen Zählerwerte gleich zu beginn wieder schreibe:
ISR(TIMER1_OVF_vect)
{
cli();
TCNT1H = 0xff;
TCNT1L = 0x12;
....
sei();
}
Das Problem ist dadurch natürlich dass die Interrupts nicht konstant
alle 100us ausgelöst werden sondern je nachdem wie viel es in dem
speziellen Fall zu tun gibt dauert es immer etwas bis viel länger.
Wie kann man das denn beheben?
Vielen Dank schon mal
Lloyd