read

Read data from serial device

Syntax

serialData = read(serial,count)
serialData = read(serial,count,precision)

Description

example

serialData = read(serial,count) returns data from the serial device.

The read function stops when it finishes reading the specified data from the device, or when the timeout period elapses.

example

serialData = read(serial,count,precision) overrides the default value for precision.

Examples

collapse all

You can connect to a serial device from the MATLAB® software, write data to the device, and read data from the device.

Create a connection from the MATLAB software to the BeagleBone Black hardware.

bbb = beaglebone

Enable serial port 1.

enableSerialPort(bbb,1)
bbb.AvailableSerialPorts
ans = 

    '/dev/ttyO1'

In '/dev/ttyO1', the 'O' is the capital letter O, not the number zero.

Show the location of the port 1 TX and RX pins, P9_24 (UART1_TXD) and P9_26 (UART1_RXD), on the GPIO header.

showPins(bbb)

The BeagleBone Black board uses +3.3 V. Do not connect BeagleBone Black hardware directly to devices that use higher voltages.

Connect the BeagleBone Black serial port to a +3.3 V serial device.

  • To receive data, connect the P9_26 (UART1_RXD) pin on the BeagleBone Black hardware to the TxD pin on the serial device.

  • To transmit data, connect the P9_24 (UART1_TXD) pin on the BeagleBone Black hardware to the RxD pin on the serial device.

  • To provide power, connect one of the +3.3 V pins on the BeagleBone Black hardware to the VCC pin on the serial device.

  • To ground the serial device, connect a ground pin (GND) on the BeagleBone Black hardware to the GND pin on the serial device.

Research the values the serial device requires for baud, data bits, parity, and stop bit.

Create a connection, serial, from the MATLAB software to the serial device.

serial = serialdev(bbb,'/dev/ttyO1',9600)
serial = 

  Serialdev with Properties:

    BaudRate: 9600
    DataBits: 8
      Parity: 'none'
    StopBits: 1
     Timeout: 10

Write a pair of values to a serial device that requires a specific data type.

write(serial,[10 12],'uint16')

Read a 100-element array of numbers from the serial port.

output = read(serial,100,'uint16')

Increase the timeout period of the serial port.

serial.Timeout = 20
serial = 

  Serialdev with Properties:

    BaudRate: 115200
    DataBits: 8
      Parity: 'none'
    StopBits: 1
     Timeout: 20

Input Arguments

collapse all

Connection to a serial device, specified as a serialdev object.

Example: serial

Data size to read from the serial device, specified as a scalar.

Example: 2

Data Types: double

Data precision, specified as a character vector. Optional.

Example: 'uint8'

Data Types: char

Output Arguments

collapse all

Data from the serial device, returned in the device- or user-defined format.

Introduced in R2015a