Go Down

Topic: comment Parser une chaine simplement (Read 1 time) previous topic - next topic

gipi

le code tx :
Code: [Select]
float val0=125.3;
float val1=10.1;
float val2=12.45;
float val3=1450.3;

void setup() {
   Serial.begin(9600); //Port Tx / Rx par défaut
}


void loop() {
   
Serial.print(val0);Serial.print(',');
Serial.print(val1);Serial.print(',');
Serial.print(val2);Serial.print(',');
Serial.print(val3);Serial.print(',');
Serial.print("#");
delay(1000);
}


le code récepteur :
Code: [Select]
String valeur[3];
String cmd = String(" ") ;
int i = 0;

void setup() {
  Serial.begin(9600);
  Serial3.begin(9600);
}


void loop() {

}

void serialEvent3() {
  if ( Serial3.available() ) {
    char SerialInByte;
    SerialInByte = Serial3.read();
    switch (SerialInByte) {
      case '#':
        i = 0;
        break;
      case ',':
        ProcessCmd();
        break;
      default:
        cmd += String(SerialInByte);
    }
  }
}
void ProcessCmd() {
  valeur[i] = cmd;
  Serial.println(valeur[i]);
  i++;
  cmd = "";
}

J-M-L

c'est un tuto ou c'est une question?

sur les micro-controllers on préfère éviter les Strings et les + entre trucs qui font de l'allocation dynamique...
Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums
Pas de messages privés SVP

Go Up