Hallo
Code:
if (data[1] > 500)
{ if (data[1] >1024)
StatusLED(GREEN);
else
StatusLED(YELLOW);
}
else
if (data[1] >1 || data[0] > 1)
StatusLED(RED);
else StatusLED(OFF);
Da die Linienwerte beim orginal bestückten asuro nie 500 erreichen, sollte der erste if-Zweig nie ausgeführt werden. Mehr als 1023 werden es sicher auch nie sein, denn die Funktion liefert nur einen 10-Bit-Wert. Also reduzieren wir mal aufs wesentliche:
Code:
unsigned int data[2];
while (1)
{
LineData(data);
data[0]=2; // Test der Funktionalität der Anzeige
if (data[1] >1 || data[0] > 1)
StatusLED(RED);
else {StatusLED(OFF); while(1);} // Programmende!
while(PollSwitch() < 1) warte(1);
}
Funktioniert die Anzeige mit der StatusLED wie erwartet, wenn man data[0] auf 2 setzt?
Gruß
mic
Lesezeichen