Könntest du mal das komplette Programm reinstellen? Ich denke es liegt dadran, das "i" nur gezzählt wird, wenn der taster gedrückt wird...
Hallo,
ich habe folgendes geschrieben um die Taster mal zu testen:
Code:if (taste) {StatusLED(RED); BackLED(ON,ON); MotorDir(RWD,BREAK); MotorSpeed(100,0); i++; } while (i > 10) StatusLED(GREEN); MotorDir(FWD,FWD); MotorSpeed(160,165);
Allerdings funtioniert das nur, wenn der Taster immer gedrückt ist. Warum ? Er soll das doch solange machen, bis i > 10 ist.
Könntest du mal das komplette Programm reinstellen? Ich denke es liegt dadran, das "i" nur gezzählt wird, wenn der taster gedrückt wird...
Stell dir vor es ist krieg - und keiner geht hin.
Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.
Hi,
hier das gesamte Programm:
Code:#include "asuro.h" int main (void) { unsigned char taste; Init(); int i; i = 0; while(1){ taste = PollSwitch(); StatusLED(GREEN); MotorDir(FWD,FWD); MotorSpeed(160,165); if (taste > 1) { StatusLED(RED); BackLED(ON,ON); MotorDir(RWD,BREAK); MotorSpeed(100,0); i++;} while (i < 10); } return 0; }
"i" wird doch nur hochgezählt wenn der Taster gedrückt wird!!!!! Und den sinn deiner While Schleife verstehe ich nicht, die macht doch garnichts....
Und in Zeile 30 die "}" ist überflüssig....
Stell dir vor es ist krieg - und keiner geht hin.
Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.
Stimmt Du sagst es, dass alles passiert nur beim drücken einer Taste :d ohh je da hätte ich auch selber drauf kommen können. Also ich hatte eigentlich vor, dass er dann rückwärts fährt und dann nach einer zeit wieder vorwärts !
dafür gibts doch die sleep, bzw. in der erweiterten Lib die Msleep funktion
Stell dir vor es ist krieg - und keiner geht hin.
Gewinner des Roboterwettbewerbs "Zukunft durch Innovation" des Bundeslandes NRW in Aachen.
Lesezeichen