Hallo Zöttl,
L_HALF, R_HALF, STOP und S_EDGE sind in dem Beispiel von maze2k nicht definiert. In C macht man das so:
Der Compiler ersetzt dann einfach die Konstanten mit den entsprechenden Werten beim compilieren.Code:#define L_HALF 100 // linker Motor halbe Kraft #define R_HALF 100 // rechter Motor halbe Kraft #define STOP 0 // Motor Stop #define S_EDGE 1000 // 1 Sekunde warten
Die Funktion sleep() wurde weiter oben im Thread gezeigt. Auch die muß in dein Programm, damit es funktioniert. Den Code vor die main() Funktion
kopieren oder einen Prototypen der Funktion am Anfang des Programmes definieren.
Das Problem mit den Tasten wurde auch schon bis zur Erschöpfung in zig threads erläutert.Code:void sleep(int ms); // Prototyp für sleep Funktion
Hier nochmal in Kurzfassung. PollSwitch() Funktion 2 x aufrufen (oder 3x).
Die zurückgegeben Werte vergleichen (t1 && t2 nicht 0, und t1 identisch mit t2) und nur dann auswerten.
Alle Klarheiten beseitigt?Code:unsigned char t1, t2; ... t1 = PollSwitch(); // 1. Abfrage t2 = PollSwitch(); // 2. Abfrage if (t1 && t2 && t1 == t2) // Beide Werte müsssen identisch sein poll = t1; else poll = 0; ...![]()
Gruß Peter







Zitieren

Lesezeichen