c'est dans la doc
- la fonction est appelée pour vous quand des données sont dispos sur le port série choisi.
- Cependant comme vous utilisez myPort.bufferUntil('\n'); dans le setup, il va attendre d'avoir reçu le '\n' avant d'appeler la fonction
essayez avec
String lireLdcState = myPort.readString();
en début de votre fonction
Quand vous voulez tester quelque chose, faites simple pour commencer et tester si cela fonctionne:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import processing.serial.*;
Serial myPort;
String lecture;
void setup() {
size(400, 200);
myPort = new Serial (this, Serial.list () [0], 115200) ; // Port série utilisé et vitesse de transmission.
myPort.bufferUntil ('\n');
}
void draw() {
}
void serialEvent(Serial p) {
lecture = p.readString();
print(lecture);
} |
par exemple à tester avec le code Arduino
1 2 3 4 5 6 7 8
| void setup() {
Serial.begin(115200);
}
void loop() {
Serial.print(millis()); Serial.println(" -> Hello World");
delay(2000);
} |
vous devriez voir un message défiler toutes les 2 secondes (sous le code Processing, dans sa console de debug)
PS/ êtes vous sûr que votre Arduino est sur l'entrée 0 dans le tableau Serial.list? et êtes vous sûr d'envoyer de '\n'?
Partager