write - Write data to serial device - MATLAB (original) (raw)
Main Content
Write data to serial device
Syntax
Description
write([myserialdevice](#bt548g6-1%5F1%5Fsep%5Fshared-myserialdevice),[data](#bt548g6-1%5F1-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.
write([myserialdevice](#bt548g6-1%5F1%5Fsep%5Fshared-myserialdevice),[data](#bt548g6-1%5F1-data),[precision](#bt548g6-1%5F1-precision))
writes data to the serial device and specifies precision.
Examples
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.
Show the location of the Tx and Rx pins, GPIO 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 theGND
pin on the serial device. - Connect one of the
+3.3 V
pins on the Raspberry Pi board to theVCC
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
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
Usage notes and limitations:
- The
write
function does not support code generation for character data. - You can also deploy
write
on the Raspberry Pi hardware in MATLAB Online™.