Ich habe nun auch ein erstes Programm geschrieben, jedoch habe ich eine Frage zur doppelten Abfrage der PollSwitch Funktion. Kann ich dies mit || ,, && oder ++ bewältigen?
Mein Problem die Störgeräusche der Asuro Motoren.
Hier noch das Programm:
Code:#include "asuro.h" //Tasten #define K6 PollSwitch()==1 //Taste 6 #define K5 PollSwitch()==2 //Taste 5 #define K4 PollSwitch()==4 //Taste 4 #define K3 PollSwitch()==8 //Taste 3 #define K2 PollSwitch()==16 //Taste 2 #define K1 PollSwitch()==32 //Taste 1 //Tasten Kombinationen #define K65 PollSwitch()==3 //Taste 6+5 #define K54 PollSwitch()==6 //Taste 5+4 #define K43 PollSwitch()==12 //Taste 4+3 #define K32 PollSwitch()==24 //Taste 3+2 #define K21 PollSwitch()==48 //Taste 2+1 #define K52 PollSwitch()==18 //Taste 5+2 #define K5432 PollSwitch()==30 //Taste 5+4+3+2 //Warten #define WAIT1 for (i=0; i<1000; i++) {Sleep(72);} //1 Sekunde #define WAIT2 for (i=0; i<400; i++) {Sleep(72);} //0.5 Sekunde //Fahrten #define VORWERTS StatusLED(GREEN); BackLED(ON,ON); MotorDir(FWD,FWD); MotorSpeed(124,120); #define LINKS StatusLED(YELLOW); BackLED(OFF,ON); MotorDir(RWD,RWD); MotorSpeed(124,120); WAIT1; MotorDir (FWD,RWD); WAIT2; MotorSpeed(0,0); WAIT1; #define RECHTS StatusLED(RED); BackLED(ON,OFF); MotorDir(RWD,RWD); MotorSpeed(124,120); WAIT1; MotorDir (RWD,FWD); WAIT2; MotorSpeed(0,0); WAIT1; int main(void) { unsigned int i; Init(); StatusLED(GREEN); BackLED(ON,ON); MotorDir(FWD,FWD); MotorSpeed(124,120); while (1) { if (K6) {RECHTS} else if (K5) {RECHTS} else if (K4) {RECHTS} else if (K3) {LINKS} else if (K2) {LINKS} else if (K1) {LINKS} else {VORWERTS} } }







Zitieren

Lesezeichen