Wo ist den die while-Schleife?
Hallo Liebe Community!
Ich habe gerade begonnen Programme für meinen asuro zuschreiben, mein problem ist aber das er scheinbar nichts ausführen will. stimmt was nicht oder sind es meine fehler?
Bei diesem beispiel hier, fährt er nur vorwärts und reagiert sonst gar nicht auf die tasten.
habe ich einen fehler gemacht?
#include "asuro.h"
int main (void)
{
Init();
MotorDir(FWD,FWD);
MotorSpeed(140,140);
if (PollSwitch()!=0)
{
MotorDir(RWD,RWD);
MotorSpeed(140,140);
}
return 0;
}
danke schon im voraus!
Wo ist den die while-Schleife?
Hallo
Deinem Programm fehlt eine Endlosschleife. Ohne diese wird das Programm in einem Rutsch nur einmal ausgeführt. Die Schleife sollte vor if() beginnen und vor return() enden.
Gruß
mic
(Wieder mal zu langsam ;)
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Also so müsste es dann aussehen
Code:#include "asuro.h" int main (void) { Init(); MotorDir(FWD,FWD); MotorSpeed(140,140); while(1){ if (PollSwitch()!=0) { MotorDir(RWD,RWD); MotorSpeed(140,140); } } return 0; }
Geändert von AsuroPhilip (24.07.2011 um 14:45 Uhr)
Wow danke für die schnelle antwort
@Asurophillip: hab das getestet, er fährt aber nur rückwärts
bzw. einen kurzen moment nach vorn und dann rückwärts
Geändert von wertzu8989 (24.07.2011 um 16:23 Uhr)
Probiere es mal so:
mfGCode:#include "asuro.h" int main (void) { Init(); while(1){ if (PollSwitch()!=0) { MotorDir(RWD,RWD); MotorSpeed(140,140); } else { MotorDir(FWD,FWD); MotorSpeed(140,140); } } return 0; }
Philip
Sowas in der Art hab ich auch hingekriegt, aber das bewirkt, dass sobald die tasten wieder frei sind, er nach vorn fährt.
mein ziel wär es, das er nicht wieder nach vorn fährt.
gruß
frank
Lesezeichen