read Buffer

Read available serial data into a buffer.

serial.readBuffer(64);

Parameters

  • length: the number of characters of serial data to read. Use 0 to return the available buffered data.

Returns

  • a buffer containing input from the serial port. The length of the buffer may be smaller than the requested length. The length is 0 if any error occurs.

Pause for more data

If the desired number of characters are available, readBuffer returns a buffer with the expected size. If not, the calling fiber (the part of your program calling the readBuffer function) sleeps until the desired number of characters are finally read into the buffer.

To avoid waiting for data, set the length to 0 so that buffered data is returned immediately.

Example

Read character data from the serial port one row at a time. Write the rows to an LED display connected to the I2C pins.

serial.setRxBufferSize(10)
for (let i = 0; i < 24; i++) {
    let rowData = serial.readBuffer(10);
    pins.i2cWriteBuffer(65, rowData, false);
}

Example Async

Read available data and process it as it comes.

basic.forever(function() {
    let rowData = serial.readBuffer(0);
    if (rowData.length > 0) {
        // do something!!!
    }
})

See Also

write buffer