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.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)