Hallo
DDRC |= (1<<PD3);
PORTC &= ~(1<<PD3);
Wenn du Pins von Port D verwenden willst, dann musst du auch das Datenrichtungsregister und den Port von D verwenden.
Bei mehreren Servos werden die Impulse nacheinander erzeugt und dann wird eine gemeinsame Restpause lang gewartet:
Beim asuro wird Sleep() mit dem 36kHz-Timer2 erzeugt, eine Millisekunde ist dann Sleep(36). Mehr Infos zum Servotiming beim asuro findest du z.B. hier:Code:for(c=0; c<50; c++) //50 = 50 Impulse senden, das dauert ca. 1 Sekunde { PORTD |= (1<<PD3); // Impulsstart servo I Sleep (servo1); PORTD &= ~(1<<PD3); // Impulsende PORTD |= (1<<PD6); // Impulsstart servo 2 Sleep (servo2); PORTD &= ~(1<<PD6); // Impulsende Sleep (255); // Pause Sleep (255); Sleep (255); }
https://www.roboternetz.de/phpBB2/ze...=500813#500813
Gruß
mic







Zitieren

Lesezeichen