Guten morgen,
ich wollte mir ein kleines Menü schreiben, dass ich über das serielle Terminal bedienen kann, um einen Colorduino zu testen. Leider klappt das Menü nicht so wie es soll. Vokalem Wenn man C ausgewählt hat, sind die Eingaben schon vorgelegt und er 'wartet' nicht auf neue Parameter. Vielleicht kann mir ja einer von euch weiterhelfen.
Gruss
Nobi
void loop()
{
Serial.flush();
char Wahl;
int R=0,G=0,B=0,x=0,y=0,i=0,j=0,k=0,l=0,m=0;
Serial.println("WAS MOECHTEN SIE TUN:");
Serial.println("--------------------------------------------------");
Serial.println("Alles Ein ->A");
Serial.println("Alles Aus ->B");
Serial.println("Ein Pixel veraendern ->C");
Serial.println("--------------------------------------------------");
Serial.print("Ihre Auswahl: ");
begin:
if (Serial.available()) //Wenn Eingabe erfolgt
{
Wahl=Serial.read(); //Hole eingegebenes Zeichen
Serial.flush();
Serial.println(Wahl); //Zeige eingegebenes Zeichen
switch(Wahl) //Auswahlsteuerung
{
case 'A':
ColorFill(255,255,255);
loop();
break;
case 'B':
ColorFill(0,0,0);
loop();
break;
case 'C':
Serial.print("X-Koordinate: ");
do{
if (Serial.available())
{
x=Serial.read();
Serial.println(x,DEC);
i++;
}
}
while(i<1);
Serial.print("X-Koordinate: ");
do{
if (Serial.available())
{
y=Serial.read();
Serial.println(y,DEC);
j++;
}
}
while (j<1);
Serial.print("R-Wert: ");
do{
if (Serial.available())
{
R=Serial.read();
Serial.println(R);
k++;
}
}
while (k<3);
Serial.print("G-Wert: ");
do {
if (Serial.available())
{
G=Serial.read();
Serial.println(G,DEC);
l++;
}
}
while (l<3);
Serial.print("B-Wert: ");
do {
if (Serial.available())
{
B=Serial.read();
Serial.println(B,DEC);
m++;
}
}
while (m<3);
Colorduino.SetPixel(x,y,R,G,B);
loop();
break;
default: //Falsche Eingabe
Serial.println("FALSCHE EINGABE");
delay(2000);
loop();
break;
}
}
goto begin;
}