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:
Gruß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; }
mic







Zitieren

Lesezeichen