Hallo,
ich dachte, weil jedes OCRnx noch sein eigenes OCFnx Interrupt/Flag hat, wäre es kein Problem alle Kanäle unabhängig zu betreiben. Allerdings muß ja der Zähler im TCNTn durch irgendwas genullt werden. Das ist nun einmal Kanal A im CTC Mode. Bei näherere Betrachtung doch wieder logisch. Man muß sich nur mit jemanden unterhalten. ![]()
Noch möchte ich keine PWM machen. Ich möchte nur erstmal den TCNT von Hand nullen oder ein Flag von A/B/C zurücksetzen ("set one"). Das klappt aber nicht. Muß ich da als Interrupt einen Capture Event verwenden?
Ich möchte Kanal A/B/C mit unterschiedlichen CMR Werten unterschiedlich takten lassen. Im Normal Mode.
Bsp. Kanal A mit 10kHz und Kanal B mit 5kHz. Ansatzweise funktioniert das ja schon, siehe Screenshot. Muß aber dabei dafür sorgen das Dings selbst zurückzusetzen. Sonst zählt TCNTn munter weiter bis zum Overflow.
Mir fehlt noch das kontrollierte zurücksetzen von ??? damit alle wieder bei 0 anfangen und nicht warten bis TCNT seinen Overflow hat.
Was an den mit ?? makierten Stellen passiert weist Du auch nicht zufällig im Timer-Diagramm?