利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

对于STM32来说,串口通讯是非常重要的一种通讯方式,而串口上位机也是一个非常重要的数据可视化的手段。如果利用传统的方式进行串口通讯以及上位机的编写,对于一个新手来说将会非常痛苦,没有非常好的C语言基础,你完全写不出来。但是你认真看我这篇教程,我相信你能够在半个小时之内学会玩配置硬件上的串口通讯,以及配套的串口上位机,实时的数据可视化。

本节教程将会给大家如何在simulink上面配置STM32的串口通讯,以及在simulink上面搭建一个串口上位机,实时读取数据。

首先我们打开simulink,打开我们上个教程所说的支持库,点击UART,里面有三个图形控件,每个控件建议大家都用help查看一下是什么,我就不用一个一个详细解释了,help里面讲得非常清楚,有不懂的问题请留言利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建),我会尽我所能回答疑问

 下图的三个控件可以完成所有STM32F4的串口通讯操作,而且非常方便就可以实现利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

这个控件主要是配置你要用串口(1|2|3),配置波特率,以及选择你对应串口的IO口。

如图就是本项目的配置情况

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

这个控件有多种数据串口发送方式,大家在help里面看一下,这里主要给大家展现一个二进制向量的形式,如何同时发送多个变量

配置如图所示

最后有个Sample time:这里的设置是多少时间发送一次数据,比如你设置0.1,就是每0.1秒发送一次数据

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

最后整个工程如图所示,加上闪烁灯,方便知道程序是否在正常运行    (Vector Concatenate:是用来把多个变量组成一个行向量)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

底层串口配置到这里就完成了,下载到你对应的程序中就可以看到灯在闪烁,但是是否在发送成功呢,发出来的两个数值进行一个对一个接受呢,不急不急,接下来我们来搭建一个simulink的上位机,进行我们发送数值的查看

 首先我们修复一个官方出来的库的一个bug,

https://download.csdn.net/download/weixin_36967309/10393078

(对应的资源在文章最后有链接下载,如果不能下载不了留言问我要)

Patch update usbconverter_n_connect
Description:
 - Apply to waijung 17.03a
 - Fix crashing when communicate with USART block.
Instruction:
1. Close MATLAB program, if it running.
2. Replace (Overwrite) the following file in to directory: \waijung_17_03a\src\blocks
 2.1 amg_usbconverter_n_connect.mexw32
 2.2 amg_usbconverter_n_connect.mexw64

根据上面的信息,复制粘贴,替换对应官方库的两个文件


然后点击如图的三个控件就在simulink 上面建立所有的串口通讯上位机操作利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

如图为本教程对应控件的设置

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

如图为上位机的全部构成,点击运行就可以看到,对应的数值了,(1对应1,2对应2)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

最后在电脑配置上要设置一下com口的参数,如图
利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)

利用Matlab2017b Simulink基于模型设计的自动代码生成对STM32F4进行开发 (2)----(串口通讯以及串口上位机的搭建)