Hi,
ein blick ins Datenblatt wirkt oft wunder. . .
um dir das ganze genau zu erklären benötige ich aber noch die Frequenz mit der dein µC betrieben wird und eventuell den Controller
Ich nehme jetzt mal den Timer2 von Atmega32 an.
Bei dem stehen im Datenblatt auf Seite 118 ein paar Daten zu der von dir verwendeten Betriebsart. (ich schätz mal CTC)
Auch zu finde ist die Formel f=fquarz/(2*prescale*(1+OCR2))
Herausfinden wie die gewünschte Frequenz erzeugt werden kann kann man nun durch umformen auf OCR2, das ist der Wert bei dem der interrupt ausgelößt wird. Nun muss man die verschiedenen prescaler einsetzen und schauen wann ein Wert für OCR2 herauskommt der größer 0 ist.
Der Timerfrequenz ist also die Quarzfrequenz geteilt durch den Prescaler, und wenn nun die Timervariable die in genau dieser Frequenz erhöht wird den im Register OCR2 gespeicherten Wert erreicht wird der Interrupt ausgeführt, der Timer wieder von 0 gestartet und das ganze beginnt von neuem.
An dieser Stelle erklärt sich auch der Betriebsartenname CTC, dieser bedeutet nämlich Clear Timer on Compare Match.
So, hoffentlich hab ich das verständlich erklärt bzw. die Frage richtig verstanden.
lg MoFe
ps: ich weiß nicht ob du das weißt (du hasts oben nicht geschrieben) aber das 64 ist hexadezimal 64, nicht dezimal.
(wahrscheinlich hasts eh verstanden, aber da du dann später bei dem 01100100 noch binär dazugeschrieben hast und vorher eben nicht hexadezimal dachte ich das ichs nochmal erwähne)
so ich hoffe ich hab das verständlich erklärt
Lesezeichen