Hallo Bernhard...
Nein, das meinte ich nicht...
Ich meinte, dass Timer0 per Interrupt ein "Zeitnormal" liefert, das
für mehrere Dinge genutzt werden kann, da die ISR auch mehrere
Variablen hoch- oder runterzählen kann.
So lasse ich z.B. bei einer sechsfach-PWM den PWM-Treppenzähler (ein
Register) in der Timer0-ISR hochzählen und mit den Tempowerten aller
Kanäle vergleichen und bei Gleichheit den betreffenden Port
ausschalten.
In einer anderen Anwendung (Modellbau-Fernsteuer-Encoder mit 4433)
erzeugt Timer0 ein 0,01ms Zeitnormal, mit dem ich die
Sendertastimpulsbreite, den Impulsabstand (Kanalimpulsbreite), aber
auch die 20ms-Impulspause steuere, was einen 16-Bit Zähler erfordert.
Timer1 möchte ich vorerst frei halten, wenn ich etwas sattelfest bin
(auch ich bin MC-Neuling) möchte ich Experimente mit Soundausgabe via
Timer1-PWM machen (nur Geräusche, kein Multimedia).
In der Schaltung eines Fernsteuer-Schaltdecoders mit 1200 werden für 10
Schaltausgänge Ausschaltverzögerungen gebraucht. Also lasse ich in
Timer0-ISR neben dem Zähler für die Impulsbreitenmessung noch 10 untere
Register runterzählen und bei 0 den Ausgang ausschalten.
So in etwa meinte ich das...
Mit besten Grüßen,
Bit- & Bytebruch... - ...HanneS...