Hi,
irgendwie will bei mir Timer2 keinen Interrupt auslösen.
Code:
void timer0 (void){
TIMSK = _BV(TOIE2); //overflow flag setzen--> ab jetzt kann overflow interrupt ausgelöst werden
TCNT2 = 0;//Rücksetzen des Timers
TCCR2 = _BV(CS21);//Prescaler 8 ~ 0,000032 s ~0,032ms
}
Ich weis nicht warum und wieso und weshalb.
Der Timer1 läuft supi.
Die Interruptmethode für Overflow-Interrupt 2 wird nicht ausgeführt:
Code:
SIGNAL (SIG_OVERFLOW2) {
PORTB&=~(1<<PB7);//led an <--debug warum geht sie nicht an
count++;//counter inkrement
if(count==t2max){ //prüfe ob ziel erreicht
if(PORTB & (1<<PB7)){
PORTB&=~(1<<PB7);
}
else{
PORTB|=(1<<PB7);
}
//led wieder aus
PORTB|=(1<<PB1);
//reset
count=0;
TIMSK &= ~(1<<TOIE2); //timer auslösen deaktivieren
}
}
Nicht verwirrt sein, an und aus ist vertauscht weil das STK500 die Ausgänge negiert auf die LED's bringt.
Lesezeichen