Name

readBytes()

Class

Serial

Description

Reads a group of bytes from the buffer or null if there are none available. 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.

Examples

  • // Example by Tom Igoe
    
    import processing.serial.*;
    
    Serial myPort;  // The serial port
    
    void setup() {
      // List all the available serial ports
      printArray(Serial.list());
      // Open the port you are using at the rate you want:
      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);
        }
      }
    }
    
    

Syntax

  • serial.readBytes()
  • serial.readBytes(max)
  • serial.readBytes(dest)

Parameters

  • serial(Serial) any variable of type Serial
  • max(int)the maximum number of bytes to read

Return

  • byte[] or int