@Trapper

Also,wenn man den Timer 2 initialisiert,legt man ja die Frequenz über den Vorteiler fest. Das ergibt dann Systemtakt durch Vorteiler = Zähltakt.
Der Timer 2 kann aber in seiner Zählweise an sich nicht manipuliert werden.
Er zählt also von 0 bis 255. Das ergibt dann die 31,...kHz.
Man könnte einen Zählwert vorgeben,dann verbraucht man aber das OCR2.
Der zu zählende Wert wäre dann die Differenz zwischen Max (255) und dem Wert in OCR2. So kann man bequem ne bestimmte Frequenz einstellen,diese ist dann aber net mehr pulsweitenmodulierbar, da OCR2 ja schon benutzt wird.
Der Trick ist,den Timer Overflow zu nutzen. Man muss nur eine Interupt Service Routine schreiben die angesprungen wird wenn er Max (255) überschreitet. In dieser Routine addiert man einfach die Differenz zu dem Zählerstand.
Zum Verständnis: Timer 2 zählt von 0 bis 255 -----> ergibt am OC2 pin 31,..kHz.
Beim Wechsel von 255 zu 0 (Overflow) wird ISR angesprungen und 0x25 drauf addiert, daraus folgt der Timer zählt von 0x25 bis 0xFF.
Differenz 218 (plus die 4Zyklen für die Sprünge etc.) ergibt dann 222.
222 entspricht bei Vorteiler 1 einer Frequenz von 36,036 kHz.
Und OCR2 kann nun für PWM genutzt werden.

Also Fazit ohne ISR gehts nicht.