Sorry, das passiert, wenn man nach dem Editieren nicht mehr kompiliert:
Aber es war schon spät und eigentlich nicht schwer zu finden: das # bei include und // bei der ersten Zeile...Code:// RP6 steuert ein Servo an der SL1-LED mit Sleep() 1.5.2008 mic #include "RP6RobotBaseLib.h" // Denn vollen Funktionsumfang der Lib bezahlen // wir mit den störenden Interrupts uint8_t stellzeit, servopos=15; // 15=Servomitte, Drehbereich ca. 5-25 int main(void) { initRobotBase(); setLEDs(0); // alle LEDs aus/kein Impuls while(1) { stellzeit=30; // Wiederholungen für Stellzeit vorbelegen while(stellzeit--) // Wir geben dem Servo Zeit zum Positionieren { // und senden solange das Steuersignal setLEDs(1); // Servo Impuls Anfang sleep(servopos); // Sleep() läuft mit 10kHz: 15 entspricht 1,5ms setLEDs(0); // Servo Impuls Ende sleep(200-servopos); // Das Signal soll alle 20ms gesendet werden } // Am Ende der Schleife sollte das Servo im Ziel sein servopos+=5; // Nächste Position berechnen if(servopos > 25) servopos=5; // Ende Drehbereich, zurück auf andere Seite mSleep(500); // Platzhalter für andere Aufgaben } return(0); }
Mach hier den Wert schrittweise kleiner bis das Servo nicht mehr sauber alle Positionen anfährt:wie lange braucht so ein Servo für linker Anschlag bis rechter Anschlag?
stellzeit=30;
War das nötig? Ist es nun verständlicher? Und zum Code klauen: Selbstverständlich sind alle meine hier geposteten Codeschnippsel open-source...ich hab das mal schnell für radbruch gemacht (keine Angst, will keinen Code klauen)
Gruß
mic







Zitieren

Lesezeichen