So in der Art funktioniert PollSwitch():
Code:
#include "asuro.h"
char sw0, sw1;
void warte (int s)
{
int x = 0;
for (x = 0; x <s; x++) Sleep(72);
}
int main(void)
{
Init();
sw0=PollSwitch();
while (1)
{
sw1=sw0;
sw0=PollSwitch();
//PrintInt(sw0);
if ((sw0 == 0) && (sw1 == 0))
{
StatusLED(GREEN);
MotorDir(FWD,FWD);
MotorSpeed(180,180);
//FolgeDerLinie();
} else {
StatusLED(RED);
MotorDir(BREAK,BREAK);
MotorSpeed(0,0);
warte(100);
MotorDir(RWD,RWD);
MotorSpeed(150,180);
warte(500);
MotorDir(BREAK,BREAK);
MotorSpeed(0,0);
warte(100);
sw0=PollSwitch();
}
}
return 0;
}
Du solltest deine while-Anweisungen teilweise gegen if-Abfragen ersetzen, weil das Programm sonst gelegentlich festhängt.
Gruß
mic
Lesezeichen