Gast
#510017
Hallo,
ich möchte in meinem programm eine bestimmte Zeit Nutzerinformationen
auf einem Display darstellen. Durch Tastendruck soll es aber möglich
sein sofort zur nächsten Displaydarstellung ohne Verzögerung zu
wechseln. Meine Idee war nun einen Timer zu verwenden aber dabei keinen
Interrupt auszulösen sondern einfach zu prüfen wann das entsprechende
Bit im Interrupt Flag Register des timers gesetzt wird.
Meine Codezeilen sind für den timer A eines Mega128. Klappt leider
nicht! Woran liegts? Tips?
TCCR3B = (1<<WGM32) | (1<<CS30) | (1<<CS32); //ctc, prescaler clk/1024
TCCR3C = (1<<FOC3A); // Output Compare Match
OCR3A = 15624; // ~2 sec intervall
ETIMSK = (1<<OCIE3A); // Compare Match Interrupt Kanal A
ETIFR = (1<<OCF3A); // Timer/Counter3, Output Compare A Match Flag
while(1){
if(getkey())
break;
if(ETIFR & (1<<OCF3A)){
ETIFR &= ~(1<<OCF3A);
break;
}
}
Danke Jeremy