morgen mic,
habe deinen codeschnipsel (hoffe richtig) ergänzt
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;
}
die libs von Dirk eingebunden, beim versuch zu kompilieren kommt:
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)
wo, bzw. wie muss ich diese deklarieren? sind sie in Deinen libs?
danke...
Lesezeichen