Ok, auf dem Quarz steht auch die 3,6864 , also 4 Mhz dann
das ist nicht ganz richtig, es sind 313600 Takte weniger, dazu kommen ja noch die anderen
Ungenauigkeiten usw.

Und wieso muss ich vor dem "reti" den Timer neu laden, er springt doch eh zurück zum reset nach dem reti, oder?
Falsch, warum soll er nach reset zurück?
dann würde das Programm immerwieder neu Anfangen, oder?

Die Sache mit dem reti ist die, wenn ein Interrupt ausgelöst wird,
merkt sich der µC SOFORT wo er sich gerade im Hauptprogramm (hier loop)
befindet, also in welcher Zeile er gerade arbeitet(wie er sich das merkt, kann ich Dir mal später irgendwann sagen, im moment reicht es wenn Du das nur weißt), die Zeile macht er noch zu ende,
und geht in die Interruptroutine rein.
In diesem Moment werden auch Interrupts allgemein abgeschaltet, damit nichts zwischenfunken kann(das macht der µC aber von alleine, haben wir nichts mit am Hut)
So wo sind wir jetzt, achso in der Interruptroutine, naja das weißt ja schon,
er geht Zeile für Zeile runter BIS er reti findet.
reti kann man ganz einfach so beschreiben: -> Hey µC du hast Dir mal gemerkt wo ich(Interrupt) Dich unterbrochen habe (irgendwo im Hauptprogramm),
so ich bin jetzt fertig(Interrupt) dann GEHE sofort an die Stelle zurück, wo ich(Interrupt)
Dich (µC) unterbrochen habe, mach dort (also nicht genau dort sondern eine Zeile tiefer)
weiter UND schalte die Interrupts wieder ein!

Ich hoffe, daß man mich hier nicht auslacht, für Diese schreibweise, aber ich muß beruflich auch die heutige Jugend ausbilden, und so kappieren sie das am schnellsten!

Gruß Sebastian