lex schrieb:
> Hat jemand ne Idee was die CPU da so treibt?
Immer dasselbe. Solange bis der Strom abgeschaltet wird.
>(20Mhz, Prescaler 8)
Das ist ein Zähler. Der zählt von 0 bis 7 und bei 8 wird er wieder auf 0
gesetzt und TCNT wird um 1 erhöht.
Angenommen du hast eine Funktion, die 100 CPU-Takte für die Abarbeitung
braucht, dann zählt dein Timer in der Zeit 100/8 Timertakte = 12,5. Das
kann er aber nicht, da er nur ganzzahlig zählen kann. Also 11, 12, 13.
Die Cpu-Takte sind dann 8, 16, ... 96, 104. 104, was der 13 entspräche,
widr aber nicht mehr mitgezählt, weil er ja bei 100 schon fertig ist.
Bei zwölf ist deine Funktion also fertig und fragt den Wert ab.
Steht aber der Prescaler bei Beginn der Messung nicht auf 0 sondern auf
4 oder größer, dann zählt TCNT bis 13. Nämlich 4, 12, 20... 92, 100. Und
jetzt bekommt er die 100 mit und steht auf 13.
Und dann wackelt das niedrigste Bit.
mfg.