Impulsgenerator?

Hallo,

da muss ich nochmal einhaken. Man kann einen Frequenzgenerator ohne ISR inkl. Pulsweitenänderung bauen.
Hier in dem Fall müßte man nur die Pulsweite konstant auf 50% halten.
Das funktioniert zum Bsp. alles im Phase Correct Mode einwandfrei, weil die Compare Register gepuffert sind.
Dadurch kann man gefahrlos jederzeit die Einstellung ändern.
Ob das sich hier im Falle lohnt ist eine andere Frage. Möchte nur sagen es ginge auch ohne ISR. :wink:
Nach nochmaliger aktueller Überlegung würde ich an Stelle vom TO jedoch bei CTC bleiben.
Dann muss man sich nicht um die Pulsweitenanpassung kümmern. :slight_smile:

DrDiettrich:
Mehr als einen Pin braucht man ja selten mit der gleichen Frequenz. Zum Ändern der Frequenz ist IMO kein ISR notwendig, die Zugriffe erfolgen bei 16 Bit Zählern synchronisiert.

:o :o :o In Modi ohne gepufferte Compare Register macht der Timer Mist wenn du zufällig zur falschen Zeit den Comparewert änderst. Der Wert wird sofort übernommen. Wenn der TCNT zu dem Zeitpunkt schon drüber ist läuft der Timer kurzzeitig falsch. Deswegen ändert man hier im Fall CTC den Compare in der eigenen Compare ISR, da kann nichts schief gehen.