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:

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
Der Compiler ersetzt dann einfach die Konstanten mit den entsprechenden Werten beim compilieren.

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.

Code:
void sleep(int ms);   // Prototyp für sleep Funktion
Das Problem mit den Tasten wurde auch schon bis zur Erschöpfung in zig threads erläutert.
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.

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;
...
Alle Klarheiten beseitigt?

Gruß Peter