Hallo
Du sendest pro Richtung jeweils nur 5 Impulse und in der Pause wird gar kein Impuls gesendet. Deshalb "federt" dein Greifer in der Pause mit Schaumstoff zurück. Versuche es mal so:
ungetestet, die Tabs rauben mir den letzten Nerv *evil*Code:#include "asuro.h" // Alle Sleep()s auf Basis der orginalen CD-Library mit 72kHz-Timer // Sleep(72) dauert dann ca. 1ms int main (void) { //int x; //int i; int p; Init(); while(1) // Programm endlos ausführen { // 1 Sekunde Greifer schliesen StatusLED(YELLOW); for(p=0; p<50; p++) // 50*22ms ergibt ca. eine Sekunde Richtung "Greifer schließen" { FrontLED(ON); Sleep(80); FrontLED(OFF); Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255); // 21ms Impulspause } // 2 Sekunden halten StatusLED(RED); for(p=0; p<100; p++) { FrontLED(ON); Sleep(80); FrontLED(OFF); Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255); } // 1 Sekunde Greifer öffen StatusLED(GREEN); for(p=0; p<50; p++) // 50*23ms ergibt ca. eine Sekunde Richtung "Greifer öffnen" { FrontLED(ON); Sleep(175); // 2,5ms? FrontLED(OFF); Sleep(255);Sleep(255);Sleep(255); Sleep(255);Sleep(255);Sleep(255); } while(PollSwitch() == 0) // Blinken bis Taste gedrückt wird, dann Programm wiederholen { StatusLED(RED); for(p=0; p<200; p++) Sleep(72); StatusLED(OFF); for(p=0; p<300; p++) Sleep(72); } } return(0); // wird nie erreicht! }
Gruß
mic






Zitieren


Lesezeichen