Serial Receive
Receive an [Nx1] array of data on the specified serial port and write it to the Data block output. When data is not available, write 0 to the Data block output
Library
Simulink Support Package for Arduino® Hardware/Common
Description
Get an [Nx1] array of data on the specified serial port and write to the Data block output. For more information, see Use Serial Communications with Arduino Hardware.
The Serial Receive block has two outputs, Data and Status.
When data is available:
The Data block output emits data from the serial receive buffer.
The Status block output emits
1
.
When data is not available:
The Data block output emits
255
.The Status block output emits
0
.
The Data block outputs the datatypes, int8, uint8, int16, uint16, int32, uint32, double, single, or boolean based on the selected Data type parameter value on the block. The default data type is uint8.
The Status block output emits int values. You can use the
Status block output to determine whether a value of 255
emitted by the Data port is data, or an indication that no
data was received.
During simulations without the hardware, this block emits zeroes.
If you use this block in models with the Standard Servo Read, Standard Servo Write, and Continuous Servo Write blocks, use longer sample times to avoid overruns.
Warning
Do not connect the serial port pins to an RS-232 serial interface, such as the DE-9M connector on a computer, without limiting the voltage. The RS-232 standard allows higher voltages that can damage your hardware. For details, read the documentation for your Arduino hardware.
Parameters
- Port Number
Enter the number of the serial port.
Click View pin map to open the Arduino Pin Mapping table.
To know about the fixed ports and the allocated pins for the block, see Pin Mapping for Arduino Timer Independent Blocks.
You can assign a Serial Transmit block and a Serial Receive block to the same serial port.
Do not assign more than one Serial Receive block to the same serial port.
Do not assign the pin numbers used by the serial port to other blocks within the model.
Serial port 0 is connected to the USB port through a converter. Do not use both serial port 0 and the USB port at the same time. For example, do not use serial port 0 if you intend to use External mode, because External mode requires the USB port.
- Data type
Select the data type of the data you want to receive on the serial port. You can get int8, uint8, int16, uint16, int32, uint32, double, single, or boolean data type on the serial port.
- Data length
Enter the number of the bytes of the selected data type to receive on the serial port.
- Sample time
Specify how often this block reads the serial port buffer. Enter a value greater than zero. This value defaults to a sample time of
0.1
second. The minimum value is0.000001
second.Smaller values require the processor to complete the same number of instructions in less time, which can cause task overruns.
See Also
Serial Transmit | Install Support for Arduino Hardware | Use Serial Communications with Arduino Hardware | Pin Mapping for Arduino Timer Independent Blocks