Hallo,

Vielen Dank an euch beiden für eure Tipps und Codes.

Hebe nun das ganze in Gang gebracht!
Die ursache war diese zeile:

TCCR1A = (1<<PWM11)|(1<<PWM10)|(1<<COM1A1);

PWM ist anscheinend falsch, muss WGM heissen, also:

TCCR1A = (1<<WGM11)|(1<<WGM10)|(1<<COM1A1);

Hab ich aus Pebisoft's Code gefolgert.

Der lange Code von Pebisoft lässt sich durch die Defines begründen, die eine Headerdatei darstellen, um die PWM"Befehle" zu vereinfachen.

Wer sein PWM-Signal oft ändert, für den ist das sehr Vorteilhaft!

Normal genügen folgende Zeilen um ein Servo anzusteuern:

(mit 8MHz µC-Frequenz)
Code:
#include <io.h>

{

// den entsprechenden Pin muss man glaub ich als Ausgang definieren, nicht vergessen

TCCR1A = (1<<WGM11)|(1<<WGM10)|(1<<COM1A1); //10BIT PWM aktivieren
TCCR1B = (1<<CS11); //Vorzähler 8 also CK/8

for (;;) {

OCR1A = "Wert";  // wert liegt zwischen 50 und 150 (Vollausschläge)

}}

Die Softwarelösung werd ich mir noch anschauen!

MfG