read
Read data from serial device
Description
Add-On Required: This feature requires the MATLAB Support Package for Arduino Hardware add-on.
returns number of bytes of data read from serial device.out = read(serialdevObj,numBytes)
also specifies the data precision.out = read(serialdevObj,numBytes,precision)
Examples
Create an arduino connection.
arduinoObj = arduino("COM16","Leonardo","Libraries",{'SPI','Serial','I2C'});
Create a connection to the serial device on the Arduino hardware.
serialdevObj = device(arduinoObj,'SerialPort',1,'BaudRate', 115200, 'DataBits',8, 'StopBits', 1, 'Parity', 'even')
serialdevObj =
device with properties:
Interface: 'Serial'
SerialPort: 1
TxPin: 'D1'
RxPin: 'D0'
BaudRate: 115200 (bits/s)
NumBytesAvailable: 0
Show all properties, functions
Connect the Rx and Tx pins in loopback. Write 3 bytes of data to the serial device.
write(serialdevObj,[88 99 65]);
Check if data is available to read.
numBytes = serialdevObj.NumBytesAvailable
numBytes = 3
Read data from the serial device.
read(serialdevObj,3)
ans = 1×3
88 99 65
Create an arduino connection
arduinoObj = arduino("COM16","Leonardo","Libraries",{'SPI','Serial','I2C'});
Create a connection to the serial device on the Arduino hardware.
serialdevObj = device(arduinoObj,'SerialPort',1,'BaudRate', 115200, 'DataBits',8, 'StopBits', 1, 'Parity', 'even')
serialdevObj =
device with properties:
Interface: 'Serial'
SerialPort: 1
TxPin: 'D1'
RxPin: 'D0'
BaudRate: 115200 (bits/s)
NumBytesAvailable: 0
Show all properties, functions
Connect the Rx and Tx pins in loopback. Write data to the serial device.
write(serialdevObj,256,'uint16');Check if data is available to read.
numBytes = serialdevObj.NumBytesAvailable
numBytes = 2
Read data from serial device with precision of uint16.
read(serialdevObj,1,'uint16')ans = 256
Input Arguments
Serial device connection, specified as a device object.
Number of bytes of data to read from the serial device, specified as a
scalar.
Note
For the Arduino® Mega2560, Mega ADK, Leonardo, and Micro boards read
works only for up to 63 bytes of data as the Arduino libraries do not read data into last byte of serial receive buffer.
See this link for more details.
Data precision, specified as one of the following character vectors:
'uint8''int8''uint16''int16''uint32''int32''uint64''int64'
Output Arguments
Data read from serial device, returned as a scalar or
vector based on the precision.
More About
Use
readin a MATLAB® Function block with the Simulink® Support Package for Arduino Hardware to generate code that can be deployed on Arduino Hardware.
Version History
Introduced in R2019b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)