Ja so etwas habe ich schon gemeint, nur wundert es mich dass ich den Timer allein durch den einen Befehl starte und sonst nichts einstellen muss.

Dass heißt dann ich kann so eine Timerfunktion schreiben:

Code:
void timer(){
    TCCR0 = 0x05;
    TIFR = 0;
    while(TIFR == 0);
    TIFR = 0;
}

Ich bin es in der Schule gewöhnt wo wir ein Trainigsboard haben allerdings mit einem anderen µController dass man ebenfalls einen wert einstellen muss sodass der Timer z.b. anstatt von 0 bei 100 anfängt um so genau zu sagen wie lang der timer für einen durchlauf benötigt.

In der Schule haben wir das immer so gemacht:

Code:
void wait(){
    TR0 = 0;                           // Timer wird gestoppt
    TL0 = (0xffff-16666)%256; // Einstellung für
    TH0 = (0xffff-16666)>>8;  // 10ms Timer
    TF0 = 0;                           // Timer Flag wird auf 0 gesetzt
    TR0 = 1;                          // Timer wird gestartet
    while(TF0 == 0);              // warten solange Timer läuft
    TF0 = 0;                          // Timer wird wieder gestoppt
}
Um den Wert der von 0xffff abgezogen wird zu berechen haben wir diese Formel verwendet:

Anzahl der Takte = Zeit(z.B. 10ms) / 0,6µs = 16666

Ist sowas hier bei dem Timer des ATMEGA8 nicht nötig oder möglich?????

Danke