So hier ist ein Programm, daß auch funktioniert
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include <util/delay.h>

volatile uint8_t Zeittick ;



ISR (TIMER1_COMPA_vect)
{
    PORTB ^= (1 << PB2)|(1<<PB3);   // loescht Bit 3 an PortB
	Zeittick = Zeittick + 1;

}

int main (void) {
DDRB = (1<<PB3)|(1<<PB2);
TCCR1 = (1<<PWM1A)|(1<<COM1A1)|(1<<CS11);
OCR1A = 0x80;
OCR1C = 0xFF;
TIMSK = (1<<OCIE1A);
sei();

while(1) {
    if (Zeittick >= 3)
    {
         PORTB ^= (1 << PB3);    // setzt Bit 3 an PortB auf 1
    }

}
   
   return 0;
}
Was mir noch auffällt ist ist die Bunte Mischung aus SIGNAL und *_vect hier
Code:
SIGNAL (TIM1_OVF_vect)
Ob das was zu sagen hat , weiß ich nicht