Hallo,
Ich habe vor kurzem folgendes festgestellt:

die Funktion mSleep(...) wurde bei mir einfach übersprungen. Um zu sehen, bis wo der Code korrekt ausgeführt wird, habe ich die mSleep(...) Funktion vor die changeDirection(...) Funktion gesetzt. Nun wurde das Programm korrekt ausgeführt.

Kann jemand von euch den Fehler reproduzieren?

Meine Software:
AVR 20100110
PN 2.0.8
Loader v2.4a

Code fehlerhaft:
Code:
        move(100, BWD, DIST_MM(250), BLOCKING);
        mSleep(10);
        setLEDs(0b1110);
        changeDirection(FWD);
        mSleep(3000);          //mSleep wird nicht ausgeführt
        setLEDs(0b0000);
        move(180, FWD, DIST_MM(300), BLOCKING);
        rotate(180, LEFT, 5, BLOCKING);
        move(180, FWD, DIST_MM(300), BLOCKING);

Funktionierender Code:
Code:
        move(100, BWD, DIST_MM(250), BLOCKING);
        mSleep(10);
        setLEDs(0b1110);
        mSleep(3000);        //mSleep wird ausgeführt
        changeDirection(FWD);
        setLEDs(0b0000);
        move(180, FWD, DIST_MM(300), BLOCKING);
        rotate(180, LEFT, 5, BLOCKING);
        move(180, FWD, DIST_MM(300), BLOCKING);

Grüsse Filou