Hallo, ich habe hier ein Programm mit dem AVR Studio geschrieben. Es macht aus das ,was ich will. Es fährt solange, bis er auf eine schwarze Stelle trifft, dann leuchtet kurz die Status LED rot, anschließend gelb und bleibt dort die ganze Zeit stehen. Nun möchte ich, dass der Asuro sich um 90° dreht,was aber nicht funktioniert, denn er dreht sich unendlich .


Code:
#include "asuro.h"

int main(void)
{
unsigned int data[2]; //Speicher bereit stellen
int zeit=0;
Init();               
FrontLED(ON); 
LineData(data);
  
MotorDir(FWD,FWD);        // Vorwärts fahren lassen,
MotorSpeed(110,100);      //mit dieser Geschwindigkeit 



while(1) {
LineData(data);
if(data[0]<50 || data[1]<50){StatusLED(RED);for(zeit=0;zeit<200;zeit++){Sleep(220);}
}
if(zeit==200){
StatusLED(YELLOW);
MotorDir(BREAK,BREAK);MotorSpeed(0,0);for(zeit=0;zeit<200;zeit++){Sleep(120);}


}

Turn(90,120);Sleep(200);
}





return 0;


}
Was mache ich falsch? Könnt ihr mir helfen?

Dann hätte ich noch eine Frage : warum funktioniert es nicht ,wenn ich
Code:
if(zeit==200){
StatusLED(YELLOW);
MotorDir(BREAK,BREAK);MotorSpeed(0,0);for(zeit=0;zeit<200;zeit++){Sleep(120);}
}
außerhalb der while(1){} Schleife schreibe ? Denn daran könnte es liegen, dass Turn nicht richtig funktioniert..


ThX schonmal für eure Hilfe