Hallo

Hier mal mein Ansatz:

Code:
/*  asuro fährt nach Anstoss einstellbare Zeit zurueck
    mic 3.1.2007
*/
#include <asuro.h>

unsigned long zurueckzeit; // Zeit Rueckwaerts in Millisekunden
unsigned char sw;          // Zwischenspeicher für Schalter k1-k6

int main(void) {
    Init();

    zurueckzeit=0;         // vorwärts losfahren
    MotorDir(FWD,FWD);
    MotorSpeed(150,150);

/*  Achtung! Das funzt nur wenn die Taster richtig erkannt werden,
    sonst bleibt der asuro auf freier Strecke stehen!
*/

do {
    sw=PollSwitch();  // Schalter einlesen und für eine Runde speichern

    if (!zurueckzeit && ((sw==2) || (sw==16))) {
    zurueckzeit=Gettime()+1000; // Aktuelle Zeit plus x millisek. zurueck
    MotorSpeed(0,0);
    MotorDir(RWD,RWD);   // Bei unterschiedlichen Geschwindigkeiten
    MotorSpeed(100,100);  // dreht der asuro beim Zurueckfahren ;-) 
    }

    if (zurueckzeit && (Gettime() > zurueckzeit)) { // Lange genug zurueck?
    MotorSpeed(0,0);
    MotorDir(FWD,FWD);    
    MotorSpeed(150,150);
    zurueckzeit=0;
    }

    }while (1); // mainloop (Endlosschleife)

    return 0;
}
(Ich werte hier nur zwei Taster aus wegen der Störimpulse der Mots)

@AxelZ: Ich denke, dass asuro-Buch wäre für dich das Richtige

Gruß

mic