Main Content

Host SCI Receive

Configure host-side serial communications interface to receive data from serial port

Library

Embedded Coder®/ Embedded Targets/ Host Communication

  • Host SCI Receive block

Description

Specify the configuration of data being received from the target by this block.

The data package being received is limited to 16 bytes of ASCII characters, including package headers and terminators. Calculate the size of a package by including the package header, or terminator, or both, and the data size.

Acceptable data types are single, int8, uint8, int16, uint16, int32, or uint32. The number of bytes in each data type is listed in the following table:

Data TypeByte Count
single4 bytes
int8 and uint81 byte
int16 and uint162 bytes
int32 anduint324 bytes

For example, if your data package has package header 'S' (1 byte) and package terminator 'E' (1 byte), that leaves 14 bytes for the actual data. If your data is of type int8, there is room in the data package for 14 int8s. If your data is of type uint16, there is room in the data package for 7 uint16s. If your data is of type int32, there is room in the data package for only 3 int32s, with 2 bytes left over. Even though you could fit two int8s or one uint16 in the remaining space, you may not, because you cannot mix data types in the same package.

The number of data types that can fit into a data package determine the data length (see Data length in the Dialog Box description). In the example just given, the 14 for data type int8 and the 7 for data type uint16 are the data lengths for each data package, respectively. When the data length exceeds 16 bytes, unexpected behavior, including run time errors, may result.

Parameters

Port name

You may configure up to four COM ports (COM1 through COM4) for up to four host-side SCI Receive blocks.

Additional package header

This field specifies the data located at the front of the received data package, which is not part of the data being received, and generally indicates start of data. The additional package header must be an ASCII value. You can use text or a number (0–255). You must put single quotes around text entered in this field, but the quotes are not received nor are they included in the total byte count.

Note

Match additional package headers or terminators with those specified in the target SCI transmit block.

Additional package terminator

This field specifies the data located at the end of the received data package, which is not part of the data being received, and generally indicates end of data. The additional package terminator must be an ASCII value. You can use text or a number (0–255). You must put single quotes around text entered in this field, but the quotes are not received nor are they included in the total byte count.

Data type

Choice of single, int8, uint8, int16, uint16, int32, or uint32.

The input port of the SCI Transmit block accepts only one of these values. Which value it accepts is inherited from the data type from the input (the data length is also inherited from the input). Data must consist of only one data type; you cannot mix types.

Data length

How many of Data type the block receives (not bytes). Anything more than 1 is a vector. The data length is inherited from the input (the data length input to the SCI Transmit block).

Initial output

Default value from the SCI Receive block. This value is used, for example, if a connection time-out occurs and the Action taken when connection timeout field is set to “Output the last received value”, but nothing yet has been received.

Action Taken when connection times out

Specify what to output if a connection time-out occurs. If “Output the last received value” is selected, the block outputs the last received value. If a value has not been received, the block outputs the Initial output.

If you select Output custom value, use the Output value when connection times out field to set the custom value.

Sample time

Determines how often the SCI Receive block is called (in seconds). When you set this value to -1, the model inherits the sample time value of the model. To execute this block asynchronously, set Sample Time to -1.

Output receiving status

Selecting this check box creates a Status block output that provides the status of the transaction.

The error status may be one of the following values:

  • 0: No errors

  • 1: A time-out occurred while the block was waiting to receive data

  • 2: There is an error in the received data (checksum error)

  • 3: SCI parity error flag — Occurs when a character is received with a mismatch

  • 4: SCI framing error flag — Occurs when an expected stop bit is not found

Introduced in R2011a