Hab jetzt des Programm für den RP6Base (Slave) umgeschrieben.
Ausschnitt vom Programm.
uint8_t y;
uint8_t x=6;
uint8_t v;
void Servo_Linkslauf(void)
{
while(v<=1
{
for(y=0; y<15; y++) // 100 Impulse senden, das dauert ca. 1 Sekunde
{
PORTA |= ADC0; // Impulsstart
sleep(x); // 1,2ms warten = Servoposition 1
PORTA &= ~ADC0; // Impulsende
sleep(80); // 19ms warten
}
if (x<=24)
{
x++;
}
v++;
}
x=6;
v=0;
}
uint8_t w;
uint8_t z=24;
uint8_t u;
void Servo_Rechtslauf(void)
{
while(u<=1
{
for(w=0; w<15; w++) // 100 Impulse senden, das dauert ca. 1 Sekunde
{
PORTA |= ADC0; // Impulsstart
sleep(z); // 1,2ms warten = Servoposition 1
PORTA &= ~ADC0; // Impulsende
sleep(80); // 19ms warten
}
if (z>=6)
{
z--;
}
u++;
}
z=24;
u=0;
}
Macht seine Läufe jetzt normal aber er schaltet sich ab wenn ich zwei mal Rechtslauf mach. Wenn er also wieder in seine Anfangsstellung laufen muss um den Rechtslauf wieder zu beginnen.
Danke für Antworten
Roandl
Lesezeichen