// Timer 1 input capture interrupt service routine interrupt [TIM1_CAPT] void timer1_capt_isr(void) { unsigned int tdiff; #asm("cli") PORTA=0x80; //Hier ist ne LED angeschlossen, also an PORTA.7 //Falls das Overflow-Bit gesetzt ist, dieses zurücksetzen //genauso wie den Timer if(TIFR & 0x04) { TIFR=TIFR & 0xFB; TCNT1=0; } //Ansonsten bestimme die verstrichene Zeit und rücksetze den Counter else { tdiff=ICR1H; tdiff<<=8; tdiff|=ICR1L; printf("%d \n",tdiff); TCNT1=0; } delay_ms(200); PORTA=0x00; #asm("sei") }