Die Tasterauswertung "lügt" gelegentlich:
Meine Programmbeispiele für den asuro sind meist ungetestet, weil mein asuro eingemottet ist...Code:#include "asuro.h" int main(void) { int i; char taste1, taste2; Init(); // nach Init() ist die StatusLED grün // StatusLED(RED); SerWrite("Programm wird gestartet\n\r", 25); // richtige Anzahl der Zeichen ist wichtig! for (i=0; i<1000; i++) { Sleep(216); } SerWrite("GOO!!\n\r", 7); // \n\r bedeutet Neue Zeile und Wagenrücklauf BackLED(ON,ON); MotorDir(FWD,FWD); MotorSpeed(255,230); StatusLED(YELLOW); // Anzeige "Fahren" taste2=PollSwitch(); // ersten Vergleichswert einlesen while(1) { taste1=PollSwitch(); // zweiten Wert einlesen if((taste1 == taste2) && (taste1 > 0)) { MotorSpeed(0,0); MotorDir(BREAK, BREAK); SerWrite("Shit happens\n\r", 14); StatusLED(RED); // Anzeige "Stoppen" while(1); // endlos warten (oder Programmende) } taste2=taste1; // letzten Wert merken für nächsten Vergleich Sleep(255); } return(0); // ohne meckert der Kompiler }







Zitieren

Lesezeichen