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.

Class | Serial
Name | ### readBytes()
Examples |
    // Example by Tom Igoe

    import processing.serial.*;

    Serial myPort;  // The serial port

    void setup() {
      // 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);
    }

    void draw() {
      // Expand array size to the number of bytes you expect
      byte[] inBuffer = new byte[7];
      while (myPort.available() > 0) {
        inBuffer = myPort.readBytes();
        myPort.readBytes(inBuffer);
        if (inBuffer != null) {
          String myString = new String(inBuffer);
          println(myString);
        }
      }
    }
Description | Reads a group of bytes from the buffer. The version with no parameters returns a byte array of all data in the buffer. This is not efficient, but is easy to use. The version with the byteBuffer parameter is more memory and time efficient. It grabs the data in the buffer and puts it into the byte array passed in and returns an int value for the number of bytes read. If more bytes are available than can fit into the byteBuffer, only those that fit are read.
Syntax |
    serial.readBytes()
    serial.readBytes(byteBuffer)
Parameters |
serial | any variable of type Serial
bytebuffer | byte[]: passed in byte array to be altered
Returns | byte[] or int
Usage | Web & Application

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