Hallo
Da hast du eine meiner Jugendsünden ausgegraben. Das waren meine ersten Versuche mit Servos :)
Vielleicht funktioniert es so, ich habe es nicht getestet:
Code:
#include "RP6RobotBaseLib.h"
uint16_t servopos = 20;
void servotrim(void)
{
setLEDs(1);
sleep(servopos);
setLEDs(0);
sleep(200-servopos);
}
void servoposi(uint8_t servosoll)
{
uint8_t i;
while(servopos != servosoll)
{
if(servopos<servosoll) servopos++; else servopos--;
servotrim();
// mSleep(50);
// was das mSleep() hier soll weiß ich auch nicht mehr genau
// richtiger wäre servotrim() mehrfach aufzurufen um dem
// Servo genug Zeit zu geben die neue Position anzufahren:
for(i=0; i<5; i++) servotrim();
}
}
int main (void)
{
initRobotBase();
while (true)
{
//task_RP6System();
servoposi(10);
servoposi(15);
servoposi(20);
}
return 0;
}
Gruß
mic
Lesezeichen