Keine garantie... und auch nicht fertig. Weil ich wenig zeit habe. Ist aber der (ein) richtige weg zur Rome.![]()
Hier mache ich nur einer loop wo beiden servo's unabhangig an oder aus gepulst werden. Jeder wiederholung geht tickzahler auf 0 und startet es neue servo pulsen.
Code:... unsigned int minimum_puls=18; unsigned int winkel1, winkel2; /* 0-36 */ unsigned int pulselange1, pulslange2; unsigend int wiederholung_zahl=720; /* anzahl ticks servo puls wiederholung, abhangig von Sleep-taktfrequenz */ unsigned char servo1=0, servo2=0; /* puls status: hoch oder niedrig */ unsigned int tickzahler=0; /* inkrementiert jede Sleep tick */ /* Init(); und so ... */ pulselange1=winkel1+minimum_puls; pulselange2=winkel2+minimum_puls; Backleds(OFF,OFF); while (1) { /* irgendwie ein neue wert fur winkel1 und winkel2 bekommen, dammit es kein schlau wird, muss aber nicht */ /* winkel1=etwas_neues; */ /* winkel2=etwas_neues; */ /* pulslangen auch erneuen */ pulselange1=winkel1+minimum_puls; pulselange2=winkel2+minimum_puls; if (tickzahler<=pulslange1) {servo1=1;} else {servo1=0;} if (tickzahler<=pulslange2) {servo2=1;} else {servo2=0;} if (tickzahler>= wiederholung_zahl) {tickzahler=0;} else { tickzahler++; } Sleep(1); /* minimale resolution der pulslange */ BackLED(servo1,servo2); } /* ende der servo puls ...






Zitieren


Lesezeichen