Arduino - Cmd Parsing

////////////////////////////////////////////////////////////////////////////////////////////

//Individua dei token da una stringa ricevuta da seriale che rappresentano comandi on/off per i led (R=160Ohm).

//Es 11:1       (accende il LED sul pin 11  mentre 11:0 lo spegne)

int led11 = 11;
int led10 = 10;
int led9 = 9;
String incoming = "",cmd,arg;
int pos1=0;
int pos2=0;
char dlm=':';
void setup() {
Serial.begin(9600);
pinMode(led11, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led9, OUTPUT);
}


void loop()
{
if( Serial.available())
{
incoming = Serial.readString();
Serial.println(incoming);

incoming.trim();//rimuove il '\n'
pos1=0;
pos2 = incoming.indexOf(dlm);
if(pos2>=0){
cmd = incoming.substring(pos1,pos2);
Serial.println("cmd:"+cmd);
if (cmd.equals("11")){ //equalsIgnoreCase
arg = incoming.substring(pos2+1,incoming.length());
arg=="0"?digitalWrite(led11, LOW):digitalWrite(led11, HIGH);
}
else if (cmd.equals("10"))
Serial.println("completare cmd 10...");
else if (cmd.equals("9"))
Serial.println("completare cmd 9...");
else
Serial.println("Unknown cmd");
}
}
}

Ultime modifiche: venerdì, 25 ottobre 2019, 13:05