dir ist schon klar, das "ta" während deinerschleife nie wieder ausgelesen wird ? d.h. der wert bleibt IMMER = 0Code:for(;ta == 0;)
Hi!
Ich habe jetzt seit einiger Zeit einen Asuro.
Wenn ich die Taster mit folgendem Programm programmieren will funktioniert es allerdings nicht.
Der ASURO fährt einfach geradeaus und hält nochnichtmal an.
[/code]Code:#include "asuro.h" int main(void) { Init(); unsigned char ta; int z; for(;;) { ta = PollSwitch() ; for(;ta==0;) { MotorDir(FWD,FWD); MotorSpeed(150,150); } MotorDir(RWD,BREAK); MotorSpeed(190,0); for (z=0;z<300;z++) {Sleep(216);} } while(1); return 0; }
dir ist schon klar, das "ta" während deinerschleife nie wieder ausgelesen wird ? d.h. der wert bleibt IMMER = 0Code:for(;ta == 0;)
warum ist ta immer 0?
ta ist doch gleich PollSwitch ()
Hier ist ta immer 0, weil die Schleife endlos läuft, wenn sie mal betreten wurde:
Keine Chance für PollSwitch(), weil es außerhalb dieser Schleife ist.Code:for(;ta==0;) { MotorDir(FWD,FWD); MotorSpeed(150,150); }
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
kann es sein, das dir die c syntax nicht sehr geläufig ist ?
heisst nur das du die methode PollSwitch(); aufrufst, die die werte der taster abruft .... und nach BEENDEN des aufruf in die variable ta (variable = wertespeicher) zurückliefert.Code:ta = PollSwitch();
das bedeutet nicht das wenn du ta == 0 machst automatisch die methode PollSwitch(); aufgerufen wird .... für den fall dass du all das schon weisst, tut mir leid aber es machte mi den eindruck als ob du da was grundlegend falsch verstanden hast
Tja, ich bin nun auch nicht mehr sicher, wie ich das interpretieren soll, trotzdem mal ein Vorschlag:
for(;ta==0; ta=PollSwitch())
sollte im Rahmen der Ungenauigkeiten von PollSwitch() halbwegs funktionieren.
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
wie würde denn dann ein programm aussehen bei dem der ASURO nach vorne fährt und dann bei einer Kollision einige Zeit zurück?
Danke im Vorraus!
nutz mal die sufu gibt gaaanz viele.... auch ist so ein Programm bei den Examples von Arexx dabei.... sogar mit Code...
mfg
Lesezeichen