-
-
Erfahrener Benutzer
Roboter Experte
Hallo Franz
Ist ja kein Problem und war auch nicht als Kritik gemeint. Konnte es mir halt nicht verkneifen.
Der Fehler falls es dich interessiert ist:
TCCR1A = (1<<WGM11)|(1<<WGM12)|(1<<COM1A1) |(1<<COM1B1);
WGM12 wird in TCCR1B gesetzt.
Mein (hoffentlich finaler) Code:
void init_servo ( void )
{
/*
//TCCR1A = (1<<WGM11)|(1<<COM1A1) |(1<<COM1B1); //10BIT FAST PWM aktivieren für 1A und 1B
TCCR1A = (1<<WGM11)|(1<<COM1A1) |(1<<COM1B1); //10BIT FAST PWM aktivieren für 1A und 1B
//TCCR1B = (1<<WGM13)|(1<<CS12) ; //Vorzähler CK/256
TCCR1B = (1<<WGM13)|(1<<CS12)|(1<<CS10) ; //Vorzähler CK/256
ICR1H = 1;
ICR1L = 644;*/
TCNT1 = 0xB1E0;
TCCR1A = (1<<COM1A1)| (1<<COM1B1);
TCCR1B = (1<<WGM13)|(1<<CS11); 0x13; //start Timer
OCR1A = 1500;
OCR1B = 1500;
ICR1 = 0x4E20;
DDRB |= ( 1<<PB1 ); //Servo links
DDRB |= ( 1<<PB2 ); //Servo rechts
}
Damit werden beide Servos auf Nullstellung (1,5ms) initialisiert.
Wenn Du voll Gas möchtest setzt Du
OCR1A = 2500; //(==2,5ms)
LG
Rubi
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen