Hei, Anna, beginner1101,

Zitat Zitat von beginner1101
Hallo,

danke nochmals an alle...
Gern geschehen.

Zitat Zitat von beginner1101
@Joe:
hab mir mal deinen Code angeschaut. Wie kommst du auf deinen OCR2A Wert von 125? Laut Datenblatt ist die Formel doch (OCR2A=(fCLK/(2*N*fOCR))-1= 61.5 (bei deinen gewählten Werten).
Gratuliere - endlich mal jemand der nicht nur Fragen stellt, sondern auch Doc´s liest und nachvollzieht. Leider erschließt sich die Formel weder meinen (mehreren) mega168ern noch mir (im Klartext - die ist nach meiner Ansicht und offenbar auch nach Ansicht meiner ATMEL-mega168er einfach falsch). Wieso? Erstens - und das ist der wichtigste Grund - die Zielfrequenz wird mit dem Ergebnis dieser Formel nicht erreicht. Der zweite Grund - der Text des doc´s beschreibt einen anderen mathematischen Zusammenhang.

Zitat Zitat von ATMEL-doc2545 - Seite 146
17.7.2 Clear Timer on Compare Match (CTC) Mode
In Clear Timer on Compare or CTC mode (WGM22:0 = 2), the OCR2A Register is used to manipulate the counter resolution.
Ok, das kennen wir und das können wir nachvollziehen. Keine Probleme. Mein WGM22:0 = 2 - (weil WGM21 = 1).

Weiter im Text:
Zitat Zitat von ATMEL-doc2545 - Seite 146
In CTC mode the counter is cleared to zero when the counter value (TCNT2) matches the OCR2A.
Also jedes Mal, wenn mein Timer auf meinen OCR2A stößt, wird er genullt. Clear Timer on Compare A. Der Timer wird aufwärts gezählt entsprechend meinem Vorteiler. Steht auch irgendwo. Als ich mit dem Lesen so weit war (irgendwann mit tiny13 oder so) ,

.........................Bild hier  

... hatte ich mir ein Excelsheet gemacht - da ich faul bin, besonders rechenfaul. Daher hatte ich nie (tut mir leid) diese Formel angesehen. Nun rechne ich diese Geschichte mal nach der Methode Milchmädchen (bitte um Nachsicht):

20 MHz / 8 (prescaler) = 2,5 MHz und da der Timer von unten nach oben zählt, erreicht er die "125" :
2,5 MHz / 125 (preset) = 20 kHz - voilà

. . . . und diesen Wert glauben auch meine mega168er . Ok?