Simulink中使用串口通信

  • 1. 模块介绍
  • 1.1 串口参数设置模块
  • 1.2 发送数据模块
  • 1.3 接收数据模块
  • 1.4 显示数据模块
  • 2. 模块配置
  • 2.1 基本参数配置
  • 2.2 发送参数配置
  • 2.3 接收参数配置
  • 3. 串口通信测试


1. 模块介绍

本文使用的模块都在库函数的Instrument Control Toolbox 里面。

seriesnetwork应用到simulink_嵌入式硬件

1.1 串口参数设置模块

串口通信第一步首先是配置串口,配置模块如下:

seriesnetwork应用到simulink_数据_02

1.2 发送数据模块

要想在Simulink里面发送数据,得先在库浏览器里面找到串口发送模块

seriesnetwork应用到simulink_串口_03

1.3 接收数据模块

要想在Simulink里面接收数据,先在库浏览器里面找到串口接收模块

seriesnetwork应用到simulink_matlab_04

1.4 显示数据模块

调试数据必须使用一个显示模块,但是scope在这里是不合适的,Display 刚刚好。

seriesnetwork应用到simulink_数据_05


可以选择很多数据类型,这里选择十六进制,方便调试。

seriesnetwork应用到simulink_数据_06

2. 模块配置

2.1 基本参数配置

串口的基本参数配置:串口号,波特率,数据位,奇偶校验,停止位,传送顺序,是否硬件流,响应时间。

  • 串口号:根据硬件设备来选择(若插硬件,必须先插上串口,再打开MATLAB才会显示)
  • 波特率:与对应设备一致即可,我这里是使用115200.
  • 奇偶校验位:一般数据不使用,可通过传输数据中1的个数来检验数据是否有传输错误。
  • 传输顺序:在传输大于八位的数据时必须关注,先传输低八位使用 little-endian,否则 使用endian-little
    其他一般选默认即可。

2.2 发送参数配置

发送参数只要选择端口号和帧头就可以了,这里直接发送数据,不要帧头。

seriesnetwork应用到simulink_串口_07

2.3 接收参数配置

如下图配置好接收参数,端口号选择com1,数据类型就选择基础的 uint8 ,0.01s接收一次。

seriesnetwork应用到simulink_参数配置_08

3. 串口通信测试

用虚拟串口进行测试,申请一对串口Com1和Com2

这里选择把接收的数据给发送回去。

seriesnetwork应用到simulink_数据_09


可以看到,发送的21,接收成功。

seriesnetwork应用到simulink_matlab_10