Cuando envio datos desde arduino a processing hago lo siguiente:
arduino:
Serial.print(variable1);
Serial.print("/");
Serial.print(variable2);
Serial.print("/");
Serial.print(variable3);
Serial.write(46); // 46 es un ejemplo
processing:
while (myPort.available() > 0) {
chByte = myPort.readChar();
serialEvent(chByte);
}
void serialEvent(char digito) {
if(digito>=47 && digito<=57){ //digito>='0' && digito<='9' || digito=='/') {
buf += digito;
}
else if (digito == 46) {
var_variables = buf;
String[] S_var = split(var_variables, '/');
var_1 = int(S_var[0]);
var_2 = int(S_var[1]);
var_3 = int(S_var[2]);
}
Pero si quiero enviar datos de processing a arduino:
processing:
Serial.write(var);
arduino:
if (Serial.available()>0){
val=Serial.read();
remoto(val);
}
-En el primer caso con Serial.print() envio la variable y con Serial.write() el código de control para que processing sepa que variable es.
- En el segundo caso, en processing solo dispongo de Serial.write(), y me interesaría enviar a arduino, tanto variables como algún código de control. ¿Es posible hacer esto con Serial.write()? Si envio un número ¿como puede saber arduino si es una variable numérica o un código que permita a arduino saber cual es la variable, como hacía en el 1º caso?
Nota: prefiero no usar librerías para la transmisión serial