Hallo,

Zitat Zitat von hosti
Sollte den das Auswerten und setzten des Ausgangssignals in der ISR möglich sein... rein von der Leistung?
eher nicht: Du hast 160 Maschinenzyklen zwischen den Interrupts. Sieh Dir mal im Disassembler oder in der "list"-Datei die Länge Deiner ISR (letzte abgekürzte Version, kompiliert mit -O1) an: >80 Befehle (mir ist klar, dass durch die Sprünge nicht alle ausgeführt werden, aber manche brauchen eben >1 Zyklus) -- das kann also nicht mehr funktionieren, wenn Du es um nur ein bis zwei Kanäle erweiterst, zumal allein "servoposH" auch schon >30 Befehle lang ist!

Also: 16 Bit Timer verwenden, die Servo-Signale per PWM erzeugen, wie von Besserwessi gezeigt, oder die Impulse gestaffelt ausgeben. Wie viele Servos sollen es denn insgesamt werden? Den OVF-Interrupt zu verwenden, wenn Du einen Compare-Interrupt zur Verfügung hast, ist nicht besonders effizient, wie Du gesehen hast. Beim nächsten Anlauf klappt es besser!

Gruß

Fred