This reference is for Processing 2.0+. If you have a previous version, use the reference included with your software. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Javadoc.

Name | ### serialEvent()
Examples |
    // Example by Tom Igoe

    import processing.serial.*;

    Serial myPort;    // The serial port
    PFont myFont;     // The display font
    String inString;  // Input string from serial port
    int lf = 10;      // ASCII linefeed

    void setup() {
      size(400,200);
      // You'll need to make this font with the Create Font Tool
      myFont = loadFont("ArialMS-18.vlw");
      textFont(myFont, 18);
      // List all the available serial ports:
      println(Serial.list());
      // I know that the first port in the serial list on my mac
      // is always my  Keyspan adaptor, so I open Serial.list()[0].
      // Open whatever port is the one you're using.
      myPort = new Serial(this, Serial.list()[0], 9600);
      myPort.bufferUntil(lf);
    }

    void draw() {
      background(0);
      text("received: " + inString, 10,50);
    }

    void serialEvent(Serial p) {
      inString = p.readString();
    }
Description | Called when data is available. Use one of the read() methods to capture this data. The serialEvent() can be set with buffer() to only trigger after a certain number of data elements are read and can be set with bufferUntil() to only trigger after a specific character is read. The which parameter contains the name of the port where new data is available, but is only useful when there is more than one serial connection open and it's necessary to distinguish between the two.
Syntax |
    void serialEvent(Serial whichPort) {
      statements
    }
Parameters |
whichPort | Serial: the port where new data is available
statements | any valid statements
Related | Serial

Updated on May 19, 2014 05:30:05pm PDT