搭建成功simulink-stm32硬件在环开发环境

本次实验所使用的软件版本和硬件平台参数如下:

Matlab版本: 2021b

STM32硬件平台:YF_STM32_Alpha 1R4(参考自STM32 Nucleo F103RB官方开发板)

YF_STM32_Alpha开发板

STM32 Nucleo F103RB 开发板


2.1 STM32硬件支持包下载

读者朋友平时使用的是和谐版Matlab,还有些时候由于网络差强人意直接用软件上的"附加功能->获取硬件支持包"无法进行安装,而一种高效且成功率极高的离线方式安装matlab硬件支持包不失为更好的一个选择。

图2.0 Matlab附加功能硬件支持包安装选项

支持包离线安装软件下载连接:https://ww2.mathworks.cn/support/install/support-software-downloader.html?s_tid=srchtitle arduino 2017a

SupportSoftwareDownloader_R2021b_win64.exe(不同年份下载的版本可能不一样,但是总体上是向下兼容的)

双击

软件安装包,弹出如图2.1、2.2所示对话框,输入注册邮箱地址和密码

图2.1 邮箱输入

图2.2 密码输入

根据个人Matlab版本进行选择,如图2.3所示,然后点击"下一步"

图2.3 Matlab版本选择

搜索要下载的硬件支持包"STM"关键词,如图2.4所示,将要下载的支持包勾选上,然后点击"下一步"

图2.4 硬件支持包搜索下载

选择安装包的放置路径,如图2.5所示,该路径最好是方便寻找的位置,后面安装时会用到该路径,然后点击"下一步"

图2.5 硬件支持包保存路径选择

接下来要下载的硬件支持包列表如图2.6所示,直接点击"下一步"即可

图2.6 接下来要下载的硬件支持包

Matlab许可协议部分如图2.7所示,直接点击"我接受"即可

图2.7 许可协议

开源许可协议如图2.8所示,直接点击"下一步"

图2.8 开源许可协议

下载中的STM32硬件支持包,如图2.9所示

图2.9 下载中的安装包

2.2 指定下载路径安装STM32硬件支持包

找到matlab的安装路径下的"install_supportsoftware.exe"文件路径,然后打开windows控制台,切换到该路径下,作者的matlab安装路径:C:\Program Files\MATLAB\R2021b\bin\win64,如图2.10所示,作者的离线安装包位置如图2.11所示,控制台指令执行方式如图2.12所示。

图2.10 "install_supportsoftware.exe"安装路径

硬件支持包安装指令如下:

复制代码
SupportSoftwareInstaller.exe -archives C:\Users\dell\Downloads\MathWorks\SupportPackages\R2021

图2.11 硬件支持包放置位置

图2.12 控制台安装命令

运行完该指令后,根据电脑性能状况可能需要的时间比较长,等待一段时间后会弹出如图所示对话框,输入用户名和密码后,进入到支持包安装选项,根据个人需要选择要安装的硬件支持包,如图2.13所示

图2.13 邮箱和密码输入

如果读者朋友电脑上下载有多个离线硬件支持包,根据个人需要选择需要安装的硬件支持包,如图2.14所示。

图2.14 选择要安装的硬件支持包

如图2.15所示,直接点击"下一步"即可

图2.15 协议许可

安装过程中根据个人电脑性能需要的时间不太一样,需要耐心等待一段时间,如图2.16、2.17所示,直到硬件支持包成功安装成功

图2.16 硬件支持包安装中...

图2.17 安装好一部分效果

安装完成后的效果如图2.18所示,点击关闭即可

图2.18 STM32硬件支持包安装完成


2.3 创建STM32-simulink工程验证

接下来我们一起创建一个简单的LED点亮工程来验证下STM32的Matlab硬件支持包是否安装正确,找到Matlab主页面中的"Simulink"图标,如图2.19所示,单击打开

图2.19 Matlab R2021b中simulink位置

稍等一会儿,弹出如图2.20所示的simulink起始页,然后点击"空白模型"创建新的Simulink模型

图2.20 Simulink起始页

进入到创建好的Simulink模型页面,如图2.21所示,这里可以将其保存并命名,然后点击"库浏览器"

图2.21 "LED_Blinker"Simulink模型页面

进入到"Simulink库浏览器"页面,找到并点击"Simulink Coder Support Package for STMicroelectronics Nucleo Boards->Common",如图2.22所示,然后将"Digital Write"模型单击拖入"LED_Blinker"模型页面中

图2.22 STM32 Simulink库浏览器中"Digital Write"模型位置

在"LED_Blinker"模型中添加"Pulse Generator"脉冲产生模型用于产生周期为1S,占空比为50%的信号脉冲,参数设置如图2.23所示。

图2.23 "Pulse Generator"模型参数设置

然后对"Digital Write"模型参数进行设置,如图2.24所示,此处引脚为YF_STM32_ALPHA开发板上的LED灯,与单片机的PB8相连接

图2.24 "Digital Write"模型参数设置

接下来要对硬件配置参数进行设置,找到"建模"栏中的"模型设置"按钮单击,如图2.25所示

图2.25 "模型设置"按钮位置

进入到"配置参数"对话框,找到"硬件实现栏",然后在"Hardware board"栏中选择"STM32 Nucleo F103RB"选项,如图2.26所示

图2.26"配置参数"硬件板设置

⚠️注 意:此处是硬件在环能否成功进行的关键,能否正确进行硬件在环仿真硬件上需要具备两个条件

条件一:必须使用STLINK下载器;

条件二:在环仿真默认通信端口为USART2(PA2、PA3),需要连接正确;

如图2.27所示,将STLINK与USB转串口模块正确连接,本实验中采用的开发板自带STLINK 2V1版本下载器,包含串口通信功能,已经与STM32F103RBT6的PA2、PA3正确连接

图2.27 硬件在环硬件连接示意图

"配置参数"设置部分将"External mode"部分设置为与之相连的端口,如图2.28所示STLINK 的串口端口号为"COM121",设置好后点击"应用"并点击"确定"。

图2.28"External Mode"参数设置

回到"LED_Blinker"模型页面,切换到"HARDWARE"栏,将"Stop Time"设置为"inf",然后点击"Monitor & Tune"进行在环仿真,如图2.29所示,仿真成功的效果如图2.30所示。

图2.29"HARDWARE"栏参数

图2.30 正在进行中的硬件在环仿真

为了让硬件在环仿真交互效果更加明显,这里将"Pulse Generator"换成"constant"模块,如图2.31所示,然后,再次点击"Monitor & Tune"按钮

图2.31 使用"constant"控制的模型

通过改变"constant"变量的值来控制LED灯的亮灭,如图2.32所示

图2.32 改变"constant"值控制LED亮灭

相关推荐
小柯博客44 分钟前
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(十二)
c语言·stm32·单片机·嵌入式硬件·php·嵌入式
SY师弟4 小时前
51单片机基础部分——独立按键检测
单片机·嵌入式硬件·51单片机
Mapleay4 小时前
FMC STM32H7 SDRAM
stm32·单片机·嵌入式硬件
自小吃多5 小时前
STC8H系列 驱动步进电机
笔记·单片机
易知嵌入式小菜鸡5 小时前
STM32CubeMX-H7-19-ESP8266通信(中)--单片机控制ESP8266实现TCP地址通信
stm32·单片机·嵌入式硬件
乄夜5 小时前
嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)
c语言·c++·单片机·嵌入式硬件·物联网·面试·职场和发展
c7_ln7 小时前
STM32 低功耗设计全攻略:PWR 模块原理 + 睡眠 / 停止 / 待机模式实战(串口 + 红外 + RTC 应用全解析)
stm32·单片机·实时音视频·江协科技
待什么青丝8 小时前
【TMS570LC4357】之相关驱动开发学习记录2
c语言·arm开发·驱动开发·单片机·学习
小柯博客8 小时前
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
c语言·stm32·单片机·嵌入式硬件·物联网
云山工作室9 小时前
一种停车场自动停车导航器的设计(论文+源码)
单片机·嵌入式硬件·毕业设计·毕设