本次实验所使用的软件版本和硬件平台参数如下:
Matlab版本: 2021b
STM32硬件平台:YF_STM32_Alpha 1R4(参考自STM32 Nucleo F103RB官方开发板)



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

支持包离线安装软件下载连接:https://ww2.mathworks.cn/support/install/support-software-downloader.html?s_tid=srchtitle%20arduino%202017a
SupportSoftwareDownloader_R2021b_win64.exe(不同年份下载的版本可能不一样,但是总体上是向下兼容的)
双击

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


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

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

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

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

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

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

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

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

硬件支持包安装指令如下:
SupportSoftwareInstaller.exe -archives C:\Users\dell\Downloads\MathWorks\SupportPackages\R2021b


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

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

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

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


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

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

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

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

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

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

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

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

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

⚠️注 意:此处是硬件在环能否成功进行的关键,能否正确进行硬件在环仿真硬件上需要具备两个条件
条件一:必须使用STLINK下载器;
条件二:在环仿真默认通信端口为USART2(PA2、PA3),需要连接正确;
如图2.27所示,将STLINK与USB转串口模块正确连接,本实验中采用的开发板自带STLINK 2V1版本下载器,包含串口通信功能,已经与STM32F103RBT6的PA2、PA3正确连接

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

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


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

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

云嵌入式开发环境ECloudIDE免费体验链接:https://ide.yunfengcloud.cn
网友评论