du schon wieder?
zeig doch mal was du schon hast.
lg Ollo
kann mir bitte jemand ein programm für eine einzelne taste des Asuros
schreiben z. b. K4
Danke
du schon wieder?
zeig doch mal was du schon hast.
lg Ollo
Code:#include "asuro.h" int main(void) { unsigned char (32); Init(); (32)=PollSwitch(); if((32)>0) {MotorDir(FWD,FWD); MotorSpeed(150,150); } else {StatusLED(YELLOW);} while(1); return 0; }
und was genau willst du damit erreichen?
so wie ich das sehe hast du eine variable 32 definiert? wieso dieser name? wenn schon wäre wohl eine variable tasterzustand angebracht.
ich vesteh nicht was du meinst könntest du bitte mal ein kompletes beispiel
programm schreiben .Ich wills doch bloss verstehen.
Hier mal was kleines. Allerdings noch ohne überprüfung der Werte.
(ungetestet)Code:#include "asuro.h" int main(void) { unsigned char tasterzustand; Init(); tasterzustand=PollSwitch(); while (1) { if (tasterzustand > 7) // Hier macht er es nur wenn Taster K1 bis K3 gedrückt werden und zwar in beliebiger Kombination, d.h. auch alle zusammen. (Siehe Tabelle in deinem letzten Thread. einfach addieren) { .... // was auch immer } else if (tasterzustand > 0 && tasterzustand <= 7) // analog zu oben nur hier K4 bis K6 { .... // was auch immer } else // Hier ist keiner gedrückt (tasterzustand == 0) { .... // was auch immer { } return 0; }
jetz probier mal ein bisschen rum. Die anleitung ist doch in dieser Hinsicht sehr ausführlich. Ein bisschen überlegen sollte man natürlich auch...
// edit: vielleicht kann ein mod oder admin die beiden Threads zum gleichen Thema zusammenfügen.
er sagt mir beim maken noch immer in der letzten zeile eine input fehler
und muss ich eigentlich für tastenstatus was einfügen ?
hab den fehler gefunden du httest eine klammer falsch gesetzt ,aber ich bin noch nicht ganz zu friden dein programm funktioniert nur wenn man die taste
von anfangan drückt ich will aber das die funktion immer ausgeführt wird wenn die taste gesrückt wird was müste ich dan noch verändern ?
Hab in der Hektik sogar noch einen entscheidenen Fehler gemacht, was auch der grund des problems ist.
die Zeile
tasterzustand=PollSwitch();
muss natürlich in ( ) die while damit er jedes mal die Werte ausliest.
jetz müsste es aber klappen ....
also ich habs nicht wirklich verstanden wo hin ich allse setzen sol hier ist mal das programm
Code:#include "asuro.h" int main(void) { unsigned char t; Init(); t=PollSwitch(); while (1) { unsigned char t; if (t > 7) // Hier macht er es nur wenn Taster K1 bis K3 gedrückt werden und zwar in beliebiger Kombination, d.h. auch alle zusammen. (Siehe Tabelle in deinem letzten Thread. einfach addieren) { StatusLED(RED); // was auch immer } else if (t > 0 && t <= 7) // analog zu oben nur hier K4 bis K6 { StatusLED(GREEN); // was auch immer } else // Hier ist keiner gedrückt (tasterzustand == 0) { StatusLED(YELLOW); // was auch immer } } return 0; }
Lesezeichen