Keine garantie... und auch nicht fertig. Weil ich wenig zeit habe. Ist aber der (ein) richtige weg zur Rome. ![Zwinkern](https://www.roboternetz.de/phpBB2/images/smiles/icon_wink.gif)
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
...
Lesezeichen