hier ma mein code..... aber asuro fährt zwar nur er macht fünf taster das gleiche und einer nur macht das was er wirklich machen soll!
Code:#include "asuro.h" /* Um eventuelle Unterschiede zwischen linken und rechtem Motor auszugleichen * definieren wir 2 Werte für fullspeed links und rechts */ #define FULL_L 250 /* Fullspeed linker Motor */ #define FULL_R 250 /* Fullspeed rechter Motor */ /* Motor vorwärts */ void MotorFwd(void) { MotorDir(FWD,FWD); MotorSpeed(150,150); } /* Motor rückwärts */ void MotorRwd(void) { MotorDir(RWD,RWD); MotorSpeed(50,50); } /* Motor rückwärts links */ void MotorRwdL(void) { MotorDir(RWD,RWD); MotorSpeed(175,100); } /* Motor rückwärts rechts */ void MotorRwdR(void) { MotorDir(RWD,RWD); MotorSpeed(100, 175); } /* Motor stop */ void MotorStop(void) { MotorSpeed(0,0); } int main(void) { unsigned char t1, t2, t3, t4, t5, t6; Init(); while(1) { t1 = PollSwitch(); t2 = PollSwitch(); t3 = PollSwitch(); t4 = PollSwitch(); t5 = PollSwitch(); t6 = PollSwitch(); if(t1 == 0 && t2 == 0 && t3 == 0 && t4 == 0 && t5 == 0 && t6 == 0) /* keine Taste gedrückt*/ { MotorFwd(); /* vorwärts fahren */ FrontLED(ON); BackLED(OFF,OFF); } else if (t1 && t2 && t1 == t2) { MotorStop(); if(t1 & 0x01) /* Taste 1 links gedrückt?*/ {+ MotorRwdL(); /* Rückwärtskurve links fahren */ FrontLED(OFF); BackLED(ON,OFF); } if(t2 & 0x02) /* Taste 2 links gedrückt?)*/ { MotorRwdL(); /* Rückwärtskurve links fahren */ FrontLED(OFF); BackLED(ON,OFF); } if(t3 & 0x04) /* Taste 3 gedrückt?)*/ { MotorRwdL(); /* Rückwärtskurve links fahren */ FrontLED(OFF); BackLED(ON,OFF); } if (t4 & 0x08) /* Taste 4 rechts gedrückt? */ { MotorRwdR(); /* Rückwärtskurve rechts fahren */ FrontLED(OFF); BackLED(OFF,ON); } if (t5 & 0x16) /* Taste 5 rechts gedrückt? */ { MotorRwdR(); /* Rückwärtskurve rechts fahren */ FrontLED(OFF); BackLED(OFF,ON); } if (t6 & 0x32) /* Taste 6 rechts gedrückt? */ { MotorRwdR(); /* Rückwärtskurve rechts fahren */ FrontLED(OFF); BackLED(OFF,ON); } Msleep(750); /* zeit zum rückwärtsfahren egal ob links oder rechts Msleep(1000) = 1sekunde*/ } } return 0; }
PLEASE HELP!







Zitieren
Lesezeichen