Jörg Wunsch schrieb:
>> OCR2 = (F_CPU/256)-1; //alle 1 sec ein Interrupt
>
> Hast du mal nachgerechnet?
>
> Wenn du nicht gerade einen extrem langsamen CPU-Takt hast, wirst
> du nicht bis auf 1 Hz herunter kommen.
Ich wünschte, so einfach wäre es, allerdings habe ich mich nicht
verrechnet.
Das Ding läuft mit 8MHz, der Prescaler ist auf 256, das heißt, der Timer
läuft mit 31250Hz und zählt von 0 bis 31249. => 1Hz
>Einen "System-Timer" benutzen, und an den all die länger laufenden
>Timeouts anflanschen. Der "tickt" dann vielleicht alle 10 ms und
>zählt die verschiedenen pseudo-parallelen Timer herunter. Wenn er
>triggert, wird ein callback aufgerufen, entweder direkt aus der
>ISR (dann muss der callback seh schnell arbeiten), oder indem man
>ein Flag setzt und dieses in der main loop auswertet.
Kapier ich spontan nicht ganz. Du meinst also, ich kann mein gewünschtes
Verhalten an timer1 von der PWM anhängen? Werd mich da mal etwas schlau
machen.