搭建成功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%20arduino%202017a
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亮灭
相关文章:

搭建成功simulink-stm32硬件在环开发环境
本次实验所使用的软件版本和硬件平台参数如下: Matlab版本: 2021b STM32硬件平台:YF_STM32_Alpha 1R4(参考自STM32 Nucleo F103RB官方开发板) YF_STM32_Alpha开发板 STM32 Nucleo F103RB 开发板 2.1 STM32硬件支持包下载 读者朋友平时使用的是和谐版M…...

【计算机网络】UDP协议
UDP的结构 我们学习一个协议最主要的就是理解它的报文格式,对于UDP协议来说 我们看下面的这张图。 16位UDP长度,表示整个数据报(UDP首部UDP数据)的最大长度。UDP报文长度占两个字节,16位表示的数据范围(0-…...

ubuntu安装mysql8.0.35过程和报错处理
ubuntu安装mysql8.0.35过程 1.更新包列表:首先,确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包: sudo apt update sudo apt upgrade2.安装MySQL服务器:运行以下命令来安装MySQL服务器: …...

SQL基础理论篇(一):什么是SQL
文章目录 什么是SQLSQL的四大部分常用的SQL标准参考文献 什么是SQL SQL的全称是Structured Query Language,即结构化查询语句。 其最早诞生于1974年,IBM研究员发布的一篇论文"SEQUEL:一门结构化的英语查询语言"。这几十年里&…...

物联网AI MicroPython学习之语法 GPIO输入输出模块
学物联网,来万物简单IoT物联网!! GPIO 介绍 模块功能: GPIO通用输入输出。 接口说明 GPIO - 构建GPIO对象 函数原型:Pin(port, dir , pull)参数说明: 参数类型必选参数?说明portintY对应开发板的引脚号…...

phalcon 访问IndexController 中只能访问indexAction方法,访问不了testAction等其它问题的解决办法
phalcon 访问IndexController 中只能访问indexAction方法,访问不了testAction,也访问不了indexAction方法,但是可以访问ArticleController里面的任意方法。访问其它方法出现这个错误“php - phalcon IndexController handler class cannot be loaded” 有人说是Apache 的rew…...

docker安装AWVS 23.9.231005181
本文声明仅AWVS用作学习使用 将镜像文件secfa_awvs.tar复制到目标机器上。 我的百度网盘文件路径: 链接:https://pan.baidu.com/s/1Pe4qlVp9XKbZ3dLrouaP2w 提取码:67mc –来自百度网盘超级会员V6的分享 在目标机器上,使用以下命…...

数据同步工具调研选型:SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比
产品概述 Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品,支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据,已应用于数百家企业生产,也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。 SeaTunnel 主…...

【Vue】Vue3 Swiper 插件 loop 无限滚动、并且暂停的问题
上午把官网的合作伙伴做了,好坑,swiper 自动滚动展示的数量 slides-per-view 的两倍必须小于等于 *SwiperSlide* 组件的渲染数量,才能进行自动滚动,官网居然都没有说。 比如 slidesPerView 6,那么 SwiperSlide 组件渲…...

MySQL的DATE_FORMAT函数使用
在MySQL中,可以使用DATE_FORMAT函数将日期格式化为所需的格式。DATE_FORMAT函数接受两个参数:日期和格式字符串。 以下是一些常用的日期格式化选项: %Y:四位数的年份(例如:2023)%y:…...

MySQL的SQL预编译及防SQL注入
文章目录 1 SQL语句的执行处理1.1 即时SQL1.2 预处理SQL1.2.1 预编译SQL的实现步骤1.2.2 预编译SQL的C使用举例1.2.3 MYSQL_BIND()函数中的参数类型: 2 SQL注入2.1 什么是SQL注入2.2 如何防止SQL注入 1 SQL语句的执行处理 SQL的执行可大致分为下面两种模式…...

博流BL602芯片 - 烧录配置
硬件介绍 淘宝上买的核心板,大概结构如上。 直接插入电脑usb,即可实现供电、下载(控制BOOT/EN)、串口通讯 固件包 1、环境配置 1.1串口 开发板使用了 CH340G 的 USB 转串口芯片,自行安装CH340串口驱动。 1.2编译环境…...

websocket实现实时数据推送,发布订阅重连单点登录功能
需求:使用websocket不借助插件实现发布,订阅,网络断开重连,单点登录后挤号的功能 1.单点登录(同一账号同一时间只有一个在线,禁止多用户登录) 实现:在用户登录之后获取到token令牌并…...

前端代理模式之【策略模式】
文章目录 前言介绍代码场景例子优缺点后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端设计模式 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&#…...

人工智能-深度学习之残差网络(ResNet)
随着我们设计越来越深的网络,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力,在这种网络中,添加层会使网络更具表现力, 为了取得质的突破,我们需要一些数学基础知识。 ResNet沿…...

arm2 day6
串口实现单个字符的收发 main.c uart4.c uart4.h...

RxSwift和Combine的相同点和使用例子
RxSwift 和 Combine 都是响应式编程框架,用于简化异步和基于事件的代码。它们有很多相似之处,主要体现在设计理念和编程模式上。以下是 RxSwift 和 Combine 的主要相同点,以及它们的应用场景: 相同点 1.响应式编程:两…...

[Linux打怪升级之路]-信号的保存和递达
前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、信号的保…...

【科研新手指南3】chatgpt辅助论文优化表达
chatgpt辅助论文优化表达 写在最前面最终版什么是好的论文整体上:逻辑/连贯性细节上一些具体的修改例子 一些建议,包括具体的提问范例1. 明确你的需求2. 提供上下文信息3. 明确问题类型4. 测试不同建议5. 请求详细解释综合提问范例: 常规技巧…...

在应用内维护域名缓存时遇到的问题
近期参与的项目中,依赖DNS服务器来解析外部的业务集群,遇到了一连串的问题。 远端的业务集群基于HTTP/HTTPS协议,提供业务服务,集群中包含了多个业务节点,当前方案中在DNS服务器上配置域名,指向业务集群中的…...

网络支付安全:面临的风险与防范策略
随着电子商务的繁荣和移动支付技术的发展,网络支付已成为全球消费者日常生活中不可或缺的一部分。然而,这种便捷的支付方式也带来了许多安全风险,这些风险可能威胁到用户的财务安全和个人隐私。本文将深入探讨网络支付面临的主要安全风险&…...

『亚马逊云科技产品测评』活动征文|阿里云服务器亚马逊服务器综合评测
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 文章目录 引言一、亚马逊&阿里云发展历史介绍1.1 亚马逊发展历史1.2…...

javascript原来还可以这样比较两个日期(直接使用new Date)
有个需求是这样的:假设今天是2023/11/15 有一个表格,表格中操作列按钮的展示与隐藏依靠开始结束日期来进行展示,如果当前日期在开始结束日期之间,则进行展示,我一开始做的时候使用new Date转换成时间戳(getTime)进行比…...

[云原生案例2.4 ] Kubernetes的部署安装 【通过Kubeadm部署Kubernetes高可用集群】
文章目录 1. 基本架构及前置准备1.1 基本架构1.2 前置准备 2. 系统初始化操作 ---- 所有节点2.1 关闭防火墙、selinux和swap分区2.1.1 关闭防火墙和selinux2.1.2 关闭交换分区 2.2 修改主机名,添加域名映射2.2.1 修改主机名2.2.2 修改本地hosts文件 2.3 内核升级2.4…...

PP-ChatOCRv2、PP-TSv2、大模型半监督学习工具...PaddleX新特性等你来pick!
小A是一名刚刚毕业的算法工程师,有一天,他被老板安排了一个活,要对一批合同扫描件进行自动化信息抽取,输出结构化的分析报表。OCR问题不大,但是怎么进行批量的结构化信息抽取呢?小A陷入了苦苦思索… 小B是…...

HarmonyOS 学习记录
时光荏苒,岁月如梭,韶华不负,未来可期。转眼间已经30岁了,学习的重要性不言而喻,在接下来的日子里记录下自己学习HarmonyOS的过程。增加一下知识储备,防患于未然嘛 不得不说华为的开发文档写的不错,开发工具直接安装后自动配置环境…...

阿里云 业务集群的冗余、备份、监控方案
1. 请解释什么是业务集群的冗余、备份和监控? 一、冗余方案 硬件冗余:在业务集群中,关键设备如服务器、存储设备等应采用双机热备或集群技术,确保在某台设备出现故障时,其他设备能够自动接管工作,保证业务…...

无人驾驶的未来 后疫情时代如何抵达
作者 | 马冀,澳鹏(Appen)中国区副总裁 自动驾驶—疫情危难中显身手 2020年,一场突如其来的新冠肺炎肆虐全球, 导致不同国家的人们被迫隔离或保持社交距离,人与人之间的接触变得风险极高。一时间,人们对于…...

(论文阅读31/100)Stacked hourglass networks for human pose estimation
31.文献阅读笔记 简介 题目 Stacked hourglass networks for human pose estimation 作者 Alejandro Newell, Kaiyu Yang, and Jia Deng, ECCV, 2016. 原文链接 https://arxiv.org/pdf/1603.06937.pdf 关键词 Human Pose Estimation 研究问题 CNN运用于Human Pose E…...

【第2章 Node.js基础】2.6 Node.js 的Buffer数据类型
Buffer数据类型 文章目录 Buffer数据类型什么是Buffer数据类型Buffer 的特点 创建Buffer实例Buffer用于编码转换将Buffer 实例转换为JSON 对象Buffer实例基本操作1. 写入Buffer实例:2. 从Buffer实例读取数据:3. Buffer实例合并: 4. Buffer实例…...