Hallo Nase,

schön, dass es auf Anhieb mit dem CTC-Modus geklappt hat!

An dieser Stelle sollte aber nochmal der kleine "Haken" des Verfahrens erwähnt werden, den wkrug in seinem Posting auch schon angesprochen hat:

Am oberen Ende des Frequenzbereiches (also wenn OCR0 kleine Werte hat, z.B. 0, 1 oder 2) sind die Abstände zwischen den erzeugten Frequenzen ganz schön groß. Man kann das auch ohne Frequenzzähler durchspielen, denn die Toggle-Frequenz lässt sich aus der Taktfrequenz, dem Prescaler und dem Wert im OCR-Register errechnen:

f = Taktfrequenz / (2 * Prescaler * (1 + OCR))

Für Taktfrequenz = 1 MHz, Prescaler = 1 und OCR = 0 ergibt sich eine Ausgangsfrequenz von 1 MHz / (2 * 1) = 500 KHz. Das hattest Du ja auch schon festgestellt.

Wenn Du OCR jetzt jeweils um 1 erhöhst, kommst Du auf Werte von Taktfrequenz / 4, Taktfrequenz / 6, Taktfrequenz / 8 usw.

Das heißt, Deine Frequenzen am oberen Rand des Spektrums wären 500 kHz, 250 kHz, 166 kHz, 125 kHz - und das sind ja schon ziemliche Sprünge.

Die niedrigste Frequenz wäre dann übrigens 1 MHz / (2 * (255 + 1)) = 1 MHz / 512, also knapp 2 KHz. Wenn Du niedrigere Frequenzen generieren möchtest, musst Du einen geeigneten Prescaler wählen.