Ah oke, alles klar. Ich habe es jetzt folgendermaßen versucht. Leider kann ich es nicht compelieren, da ich auf dem PC an dem ich im moment bin nicht ProgrammersNotepad2 drauf ist.
Noch eine zwischen Frage die Klammer nach else { ist schon nötig oder?
#include "asuro.h"
int main(void)
{
Init();
while(1)
{
if(PollSwitch()!=0)
{StatusLED(RED);
MotorDir(RWD,RWD);
MotorSpeed(120,120);
for (i=0;i<280;i++){Sleep(255);}
MotorSpeed(0,0);
MotorDir(FWD,FWD);
MotorSpeed (0,120);
for (i=0;i<280;i++){Sleep(255);}
MotorSpeed(0,0);
}
else{
int line_data[2];
LineData(line_data); // line_date[0]: linker Sensor, [1]: rechter Sensor
// schwarzer Untergrund: kleine Werte; heller Hintergrund: große Werte
FrontLED(ON); // liefert bessere bzw. konstrastreichere Werte
int limit = 45; // Dieser Vergleichswert ist an die Lichtverhältnisse anzupassen
int speed = 120;
int debug_mode = 0; // 0: aus; 1: an, ASURO sendet die Werte der Sensoren zurück
while (line_data[1] > limit)
{
if (debug_mode)
{
SerWrite("rechts\r\n", 8 );
PrintInt(line_data[1]);
SerWrite("\r\n", 2);
}
BackLED(OFF, ON);
MotorSpeed(0, speed);
LineData(line_data);
}
while (line_data[0] > limit)
{
if (debug_mode)
{
SerWrite("links\r\n", 7);
PrintInt(line_data[0]);
SerWrite("\r\n", 2);
}
BackLED(ON, OFF);
MotorSpeed(speed, 0);
LineData(line_data);
}
MotorDir(FWD, FWD);
MotorSpeed(speed, speed);
}
}
return 0;
}
Lesezeichen