Write data to serial device
Connect to and Exchange Data with Serial Device
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
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,
14 (UART0_TXD) and
GPIO 15 (UART0_RXD),
on the GPIO header.
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
GNDpin on the serial device.
Connect one of the
+3.3 Vpins on the Raspberry Pi board to the
VCCpin on the serial device.
Research the values the serial device requires for baud, data bits, parity, and stop bit.
Create a connection,
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.
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
data — Data to write to serial device
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 — Data precision
'uint8' (default) |
Data precision, specified as a string. Optional.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
writefunction does not support code generation for character data.
You can also deploy
writeon the Raspberry Pi hardware in MATLAB Online™.