Main Content


Write data to serial port

Since R2019b



write(device,data,datatype) writes the row or column vector data to the specified serial port connection device. The function writes the data in the specified data type datatype, regardless of the format in data. The function suspends MATLAB® execution until the specified values are written.


collapse all

Create a connection to a serial port device. In this example, the serial port at COM3 is connected to a loopback device.

device = serialport("COM3",9600)
device = 

  Serialport with properties:

                 Port: "COM3"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, functions

Write the values [1,2,3,4,5] in uint8 format.


Since the port is connected to a loopback device, the data you write to the device is returned to MATLAB. Read all the data.

ans = 1×5

     1     2     3     4     5

Input Arguments

collapse all

Serial port connection, specified as a serialport object.

Example: write(device,1:5,"uint8") writes to the serial port connection device.

Numeric or ASCII data, specified as a row (1-by-N) or column (N-by-1) vector of numeric values or as a character vector or string scalar of text. For all numeric datatype types, data is a row vector of values.

Example: write(device,[20:24],"int16") writes the values [20,21,22,23,24].

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

Size and format of each value, specified as a character vector or string. datatype determines the number of bytes to write for each value and the interpretation of those bytes as a MATLAB data type. For ASCII text, you can specify datatype as either "char" or "string".

Example: write(device,1:5,"int16") writes data as int16 data type.

Data Types: char | string

Version History

Introduced in R2019b

See Also