Main Content

write

Write data to serial device

Add-On Required: This feature requires the MATLAB Support Package for Raspberry Pi Hardware add-on.

Description

write(myserialdevice,data) writes data to the serial device.

The write method stops when it finishes writing the specified data to the device, or when the timeout period elapses.

example

write(myserialdevice,data,precision) writes data to the serial device and specifies precision.

example

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 Raspberry Pi® hardware.

mypi = raspi

Note

If you encounter errors after running the above command, try using additional arguments (as listed in raspi) or refer to Troubleshoot Connecting Issues to Raspberry Pi Hardware.

Show the location of the Tx and Rx pins, GPIO 14 (UART0_TXD) and GPIO 15 (UART0_RXD), on the GPIO header.

showPins(mypi)

Raspberry Pi hardware uses +3.3 V. Do not connect Raspberry Pi hardware directly to devices that use higher voltages.

Connect the Raspberry Pi serial port to a +3.3 V serial device.

  • To receive data, connect the RXD pin (GPIO 15 UART0_RXD) on the Raspberry Pi board to the TXD pin on the serial device.

  • To transmit data, connect the TXD pin (GPIO 14 UART0_TXD) on the Raspberry Pi board to the RXD pin on the serial device.

  • Connect a ground pin (GND) on the Raspberry Pi board to the GND pin on the serial device.

  • Connect one of the +3.3 V pins on the Raspberry Pi board to the VCC pin on the serial device.

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

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

myserialdevice = serialdev(mypi,'/dev/serial0',9600)
myserialdevice = 

  Serialdev with Properties:

        Port: '/dev/serial0'
    BaudRate: 9600
    DataBits: 8
      Parity: 'none'
    StopBits: 1
     Timeout: 10

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

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

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

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

Increase the timeout period of the serial port.

myserialdevice.Timeout = 20
myserialdevice = 

  Serialdev with Properties:

        Port: '/dev/serial0'
    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: myserialdevice

Data to write to the serial device, specified as a vector. The value is cast to the precision selected in the precision argument. If you do not specify the precision argument, the value is cast to the default precision of uint8.

Example: [10 12]

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

Data precision, specified as a string. Optional.

Example: 'uint8'

Data Types: char

Extended Capabilities