Hallo Dreamer001!
Deine Sleep()-Anweisung ist ausserhalb deiner Zählerschleife.
Also so:
for(zaehler=0; zaehler < 1000; zaehler++) Sleep(255);
Werbung
So hier mal mein derzeitger Code!Code:#include "asuro.h" void main() { int zaehler; Init(); while(1) { if (PollSwitch() == 0) { StatusLED (GREEN); MotorDir(FWD,FWD); MotorSpeed(120,120); } else { StatusLED (RED); MotorDir(RWD,RWD); MotorSpeed(200,200); for(zaehler=0; zaehler < 1000; zaehler++); { Sleep(255); } } } }
Asuro fährt bei drüken des Tasters zwar Rückwärts, aber ich schaffe es nicht ihn z.b. 3sec lange zurückfahren zu lassen!
Was ist falsch an meinem Prog?
Hallo Dreamer001!
Deine Sleep()-Anweisung ist ausserhalb deiner Zählerschleife.
Also so:
for(zaehler=0; zaehler < 1000; zaehler++) Sleep(255);
Dein Code:
Mein Code:Code:for(zaehler=0; zaehler < 1000; zaehler++); { Sleep(255); }
Ich hab lediglich ein einziges Zeichen entfernt, Tippfehler können fatal ausfallen...Code:for(zaehler=0; zaehler < 1000; zaehler++) { Sleep(255); }
habe nach sleep den ; weggegeben sowie davor und danach die } weggegeben und nun fährt er nur noch zurück..
was nun?
hilft leider auch nichts
So hier die aktuelle Version, die zumindest funktioniert, da die for Schleife eigenständig ist, das heißt asuro fährt die selbe Zeit an die er auch dann zurück fährt!!
nur wenn ich nur eine geschwungene Klammer verändere, dass heißt ich gebe die for schleife in das else hinzu dann fährt er dauerhaft zurück.
//bitte um hilfe
Code:#include "asuro.h" void main() { int zaehler; Init(); while(1) { if (PollSwitch() ==0) { StatusLED (GREEN); MotorDir(FWD,FWD); MotorSpeed(120,120); } else { StatusLED (YELLOW); MotorDir(RWD,RWD); MotorSpeed(100,200); } for(zaehler=0; zaehler < 800; zaehler++) { Sleep(255); } } }
er dreht sich dauerhaft rückwärts..
könnte bitte mal jmd von euch meinen code am asuro probieren um zu schauen obs geht od nicht?
danke
Lesezeichen