morgen mic,
habe deinen codeschnipsel (hoffe richtig) ergänzt
die libs von Dirk eingebunden, beim versuch zu kompilieren kommt:Code:#include "RP6RobotBaseLib.h" #include "RP6BaseServoLib.h" int main(void) { initRobotBase(); while(true) { void pulseSERVO(uint8_t position) { cli(); // Impulsstart, Ausgang auf High PORTC |= SERVO_OUT; // Der Gesamtimpuls besteht aus zwei Teilen, zuerst der Anteil für linke Position delayCycles(LEFT_TOUCH); // und dann der Abstand von Links zum gewünschten Drehwinkel in Einzelschritten*pos while (position--) { delayCycles(PULSE_ADJUST); } // Impuls ist gesendet, Ausgang wieder auf Low PORTC &= ~SERVO_OUT; // SERVO_OUT -> LO (pulse end) sei(); } void task_SERVO(void) {static uint8_t pos; // wenn Stopwatch1 größer 19 ist sind 20ms seit dem letzten Impulsstart vergangen if (getStopwatch1() > PULSE_REPETITION) { //Impuls zum Servo senden pulseSERVO(pos); // --------------------------------------------------------------------- // Nach ca. 50ms wird der Impuls für einen neuen Winkel berechnet if (getStopwatch2() > 48) { pos++; // Impulslänge um einen Schritt erhöhen //pos+=3; // größere Schritte // Wenn der rechte Endpunkt erreicht ist, starten wir wieder links if (pos > RIGHT_TOUCH) {pos = 0;} setStopwatch2(0); // restart der 50ms-Verzögerung } // --------------------------------------------------------------------- setStopwatch1(0); // restart der 20ms-Impulswiederholung } } } return 0; }
wo, bzw. wie muss ich diese deklarieren? sind sie in Deinen libs?Code:../servo_radbr_2.c: In function `pulseSERVO': ../servo_radbr_2.c:13: error: `SERVO_OUT' undeclared (first use in this function) ../servo_radbr_2.c:18: error: `PULSE_ADJUST' undeclared (first use in this function)
danke...






Zitieren

Lesezeichen