"Computer machen zwar nicht immer was sie sollen, aber immer was man ihnen sagt"Mein AC macht was er will
(Eine unangenehme Wahrheit, ist aber so).
Auch wenn ich nicht alles von Deinem Code verstehe (z.B. die PWM-Komponente), liegt m.E. der Fehler darin, dass Du den Timer nach dem Auslesen nicht auf 0 zurücksetzt. Er zählt daher einfach vom letzten Wert weiter, läuft regelmäßig über, und kommt deshalb immer bei etwas niedrigeren Werten an als beim vorherigen Interrupt.
Mach´ hinter Print Timer1 mal ein Timer1=0...
Lesezeichen