Search processing.org:

Reference for Processing version 1.0.1+. If you have a previous version, use the reference included with your software. If you see any errors or have any comments, let us know.

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);
      // Make your own font. It's fun!
      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 = (myPort.readString());
    }

Description

Called when data is available. Use the read() method 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 which) {
      statements
    }

Parameters

which | Serial: the port where new data is available
statements | any valid statements

Usage | Web & Application
Related | Serial

Updated on November 22, 2008 08:39:23pm PST