Also ich hab jetzt mal versucht etwas zusammenzuschreiben...könntet ihr mir vielleicht nen Tip geben ob das prinzipiell so funktioniert ?

Mein Code lautet:

//define all external dependencies
#include <avr/io.h>
#include <avr/interrupt.h>


//declare all used functions
void Sensor_init(void);
void LED_SW_init(void);

//define variables

volatile unsigned int z;
volatile unsigned int sekunde;
volatile unsigned int T1;
volatile unsigned int T2;
volatile unsigned int TD;


void TIMER2_interrupt_init(void)
{
TCCR2 = (1<<WGM21)|(0<<WGM20)|(1<<CS22)| (1<<CS21) |(0<<CS20); //CTC mode und Prescaler auf 256
TCNT2=0;
OCR2=249; //alle 0.008 s Interrupt
TIMSK = (1<<OCIE2);
}

ISR(TIMER2_COMP_vect) /Sekunde hochzählen
{
z++;
if(z==125)
{
sekunde++;
z=0;
}

}

int main(void)
{
Sensor_init();
LED_SW_init();

TIMER2_interrupt_init();

while(1)
{
if(!(PINA & (1<<PINA0))) //Mit Pin 0 soll T1 gespeichert werden
{
T1 = sekunde;
}
if(!(PINA & (1<<PINA1))) //Mit Pin 1 soll T2 gespeichert werden und die Differenz berechnet werden
{
T2 = sekunde;
TD = T2-T1;
}
}


Jetzt stellt sich natürlich noch die Frage wie ich TD über UART auslesen kann...würde mich sehr über eine Antwort oder nen Code freuen.

Vielen Dank und viele Gruesse,

Jimmy