Reference for Processing version 1.1+. 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

Usage | Web & Application
Related | Serial

Updated on June 14, 2010 12:05:25pm EDT