Arduino

Buy | Download | Getting Started | Learning | Reference | Hardware | FAQ

Blog » | Forum » | Playground »

## int Serial.available()

#### Description

Get the number of bytes (characters) available for reading over the serial port.

### Parameters

None

#### Returns

The number of bytes are available to read in the serial buffer, or 0 if none are available. If any data has come in, Serial.available() will be greater than 0. The serial buffer can hold up to 128 bytes.

### Example

    int incomingByte = 0;	// for incoming serial data

    void setup() {
    	Serial.begin(9600);	// opens serial port, sets data rate to 9600 bps
    }

    void loop() {

    	// send data only when you receive data:
    	if (Serial.available() > 0) {
    		// read the incoming byte:
    		incomingByte = Serial.read();

    		// say what you got:
    		Serial.print("I received: ");
    		Serial.println(incomingByte, DEC);
    	}
    }

Arduino Mega example:

    void setup() {
      Serial.begin(9600);
      Serial1.begin(9600);

    }

    void loop() {
      // read from port 0, send to port 1:
      if (Serial.available()) {
        int inByte = Serial.read();
        Serial1.print(inByte, BYTE);

      }
      // read from port 1, send to port 0:
      if (Serial1.available()) {
        int inByte = Serial1.read();
        Serial.print(inByte, BYTE);
      }
    }

#### See also

- Serial.begin(speed)
- Serial.read()
- Serial.print(data)
- Serial.println(data)

Reference Home

Edit Page | Page History | Printable View | All Recent Site Changes