Archiv verlassen und diese Seite im Standarddesign anzeigen : Taster
janoschandre
23.06.2006, 18:19
Hallo,
ich habe folgendes geschrieben um die Taster mal zu testen:
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.
wanderer
23.06.2006, 18:59
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...
janoschandre
23.06.2006, 20:06
Hi,
hier das gesamte Programm:
#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;
}
wanderer
23.06.2006, 20:21
"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....
janoschandre
23.06.2006, 20:27
Stimmt :D 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 !
wanderer
23.06.2006, 21:09
dafür gibts doch die sleep, bzw. in der erweiterten Lib die Msleep funktion
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.