主要内容

主机串行接收

配置主机端串行通信接口,从串行端口接收数据

  • 库:
  • 电机控制模块/保护和诊断

描述

主机串行接收块指定它从目标硬件接收到的数据的配置。

块接收的数据包被限制为16字节的ASCII字符,包括包头和终止符。通过包括包头或终止符(或两者都包括)和数据大小来计算包的大小。该表显示了每种数据类型的字节数。

数据类型 字节数

4个字节

int8uint8

1个字节

int16uint16

2字节

int32uint32

4个字节

例如,如果您的数据包有一个包头'S'(1字节)和包终止符'E'(1字节),那么实际数据就剩下14个字节。如果您的数据是特定类型的int8,数据包中有14的空间int8s.如果您的数据是特定类型的uint16,数据包中有7的空间uint16s.如果您的数据是特定类型的int32时,数据包中只有3个空间int32S,剩下2个字节。即使你能装下两个人int8年代或一个uint16在剩余的空间中,您不应该这样做,因为您不能在同一个包中混合数据类型。

数据包中可以容纳的数据类型的数量决定了数据的大小。在上例中,for的数据大小为14int8和7uint16.当数据大小超过16字节时,可能会发生意外行为,包括运行时错误。

港口

输出

全部展开

先进先出(FIFO)缓冲器接收数据。在每一个时间步数据端口从缓冲区输出请求的值。

数据类型:|int8|uint8|int16|uint16|int32|uint32

交易的状态。状态可以是以下值之一:

  • 0 -无错误

  • 1 -当块等待接收数据时发生了超时

  • 接收到的数据有错误(校验和错误)

  • 3 - SCI奇偶校验错误标志-当接收到与不匹配的字符时发生

  • SCI帧错误标志-当未找到期望的停止位时发生

依赖关系

要启用该端口,请选择输出接收状态参数。

数据类型:uint16

参数

全部展开

指定一个串口来接收来自目标硬件的通信。在列表中选择一个可用的串口。属性配置所选端口主机串口设置块。如果您没有配置串行端口,该块会提示您这样做。每一个主机串行接收块必须有一个配置的串行端口。如果在模拟中使用多个端口,则必须分别配置每个端口。

指定位于接收数据包前面的数据,它不是正在接收的数据的一部分,通常表示数据的开始。附加的包头必须是一个ASCII值。可以使用范围(0-255)内的文本值或数字值。您必须在该字段中输入的文本周围加上单引号,但是不会收到引号,而且它们不包括在总字节数中。

指定位于接收数据包末尾的数据,该数据不是正在接收的数据的一部分,通常表示数据结束。附加的包结束符必须是一个ASCII值。可以使用范围(0-255)内的文本值或数字值。您必须在该字段中输入的文本周围加上单引号,但是不接收引号,而且它们不包括在总字节数中。

指定块输出的数据类型。

指定在每个模拟时间步骤中应该读取的输出数据大小或值的数量。

指定块的初始或默认输出值。例如,如果发生连接超时和连接超时时所采取的操作参数设置为输出上次接收的值,但是该块还没有收到任何值。

指定在连接超时时输出的内容。

  • 输出上次接收的值—块输出上一个时间步长的接收值。如果块之前没有接收到值,它输出初始输出参数。

  • 自定义输出值—块输出用户自定义的值。使用连接超时时的输出值参数来定义此自定义值。

  • 错误—块输出错误信息。

指定连接超时时块输出的自定义值。

依赖关系

要启用该参数,请设置连接超时时所采取的操作要么自定义输出值错误

决定了主机串行接收块被调用(以秒为单位)。当您将此值设置为-1,模型继承模型的样本时间。若要异步执行此块,请设置样品时间-1

选择此参数启用状态提供事务状态的输出端口。如果清除此参数,则块将隐藏状态端口。

选择此参数可以在接收数据时阻止模拟。如果不希望读取操作阻塞模拟,请清除此参数。

如果您启用了阻塞模式,模型将在模拟等待接收请求的数据时阻塞它。当您不启用阻塞模式时,模拟将连续运行。

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app

定点转换
使用fixed-point Designer™设计和模拟定点系统。

介绍了R2020a