Try reading the data with serialEvent():
// Example by Tom Igoe
import processing.serial.*;
Serial myPort; // The serial port
String inString; // Input string from serial port
int lf = 10; // ASCII linefeed
void setup() {
size(400,200);
// List all the available serial ports:
printArray(Serial.list());
myPort = new Serial(this, Serial.list()[3], 9600);
myPort.bufferUntil(lf);
}
void draw() {
background(0);
textSize(24.0);
text("received: " + inString, 10,50);
}
void serialEvent(Serial p) {
inString = p.readString();
}
Make sure that your Arduino is sending something:
Arduino code:
void setup() {
Serial.begin(9600);
Serial.println("Processing is great.");
}
void loop() {
}