Arduino > Serial > Processing

Hallo, ich möchte vom Arduino einen Wert an den seriellen Port übergeben und diesen mit Processing emfpangen und weiterverarbeiten.
Das sollte ja eigentlich kein Problem sein, ist es aber irgendwie doch.

Arduino:

void loop()
{
...
  Serial.println(500);
...
}

Processing:

void serialEvent(Serial myPort) 
{
  println(myPort.readString());
}

Ich schreibe also die 500.

Die Ausgabe am seriellen Monitor ist:
500
500
500
...

Also wie erwartet.

Aber Prozessing gibt folgendes raus:
5
0
0

5
0
0

Hat jemand eine Ahnung, warum bei Prozessing jedes Zeichen mit einem Zeilenumbruch ankommt?

warum bei Prozessing jedes Zeichen mit einem Zeilenumbruch ankommt?

Es kommt nicht mit Zeilenumbruch an, sondern Du gibst es mit Zeilenumbruch aus:
println(myPort.readString());
laß das "ln" im "print" weg.

Grüße Uwe

uwefed:
Es kommt nicht mit Zeilenumbruch an, sondern Du gibst es mit Zeilenumbruch aus..

..also kommt es doch mit Zeilenumbruch an. :%

Gruß Chris

Chris72622:
..also kommt es doch mit Zeilenumbruch an. :%
Gruß Chris

Nein, die einzelnen Zeichen werden auf dem Terminalfenster mit der Funktion ausgegeben die nach jedem Zeichen einen Zeilenumbruch hinzufügt.
Grüße Uwe

Wird das serialEvent bei jedem Zeichen ausgelöst?
Ich dachte, dass wird nur ausgelöst, wenn vom Arduino eine "komplette" "500" auf den Port geschrieben wird.

In den Beispielen, die ich mir angesehen habe, ging das immer so.
Ich möchte ja eine mehrstellige Zahl übermitteln und nicht die einzelnen Ziffern.

Problem gelöst, es fehle ein:

myPort.bufferUntil('\n');