手把手教你使用MATLAB /Simulink (使用st官方工具 STM32-MAT/TARGET)联合STM32CubeMX自动生成代码-程序员宅基地

技术标签: matlab  stm32  

 硬件:STM32F103C8T6最小系统

 软件:

1.MATLAB

2.STM32Cube MX

3.STM32-MAT/TARGET

STM32 MCU启用基于模型的设计工作(Model-Based Design Workflow):

  • 创建可执行模型
  • 自动生成代码
  • 自动化软件集成

即使用matlab配置stm32f103的灯闪烁(PC13)(无需编程)

1.安装MATLAB

参考网络教程

2.安装STM32Cube MX

下载链接

STM32CubeMX - STM32Cube initialization code generator - STMicroelectronicsSTM32CubeMX - STM32Cube initialization code generator, STM32CubeMX-Win, STM32CubeMX, STM32CubeMX-Lin, STM32CubeMX-Mac, STMicroelectronicshttps://www.st.com/en/development-tools/stm32cubemx.html

3.安装STM32-MAT/TARGET

下载链接
STM32-MAT/TARGET - STM32 embedded target for MATLAB and Simulink with PIL and external mode processing (RN0087) - STMicroelectronicshttps://www.st.com/en/development-tools/stm32-mat-target.html

 上述软件安装完成后,

1.打开STM32CubeMX新建工程

 2.选择MCU(part Number可以输入自己要选择的MCU,这里以STM32F103C8T6为例),开始创建工程。

 3.引脚配置

3.1配置RCC ,选用外部高速时钟Hight Speed Clock(HSE),选择Crystal/Ceramic Resonator

3.2系统设置 ,Debug 选择Serial Wire(这一步很关键,必须根据自己的下载工具选择一个。千万不要空着NO Debug,否则下次就不能下载,需要初始化芯片有些同学的芯片就废了。所以这一步很重要,很重要,很重要)

3.3配置系统时钟,按图配置就好了,选外部时钟(PLL,PLLCLK),在HCLK输入72M就好了

 3.4GPIO配置(LED)

PC13选择GPIO_Output

 设置用户标签,将PC13设置成LED(非必须)

 以上完成了引脚配置

4工程设置

4.1 文件名和路径选择(尽量不用中文,记住路径很重要,与下文MATLAB文档保持一致)

4.2代码生成设置,选择复制所有文件,.c/.h文件分开保存

4.3保存工程

点击File->Save project,不需要生成代码。(保存后可以看到文件夹中考到.ioc文件了。)

(以上,如果点击GENERATE CODE生成代码,就是手把手教你使用STM32CubeMX配置引脚,到这就结束了)

1.打开MATLAB包含STM32-MAT/TARGET路径

包含后就可以以在simulink库文件中找到STM32相关文件

2.修改工作路径

 3simulink设置,

3.1设置Solver

type:选择Fixed-step ;   Fixed-step size(fundamental sample time)改为1/1000;

3.2.code generation选择STM32.tlc

选完以后

 3.3STM32 Options中勾选STM32CubeMX path updata自动选择路径 

3.4STM32 project File 勾选Relative path to the project slx file(新建的slx文件要与上文STM32CUbeMX生成的ioc文件在同一文件夹) 

 3.5 Data  Import/Export中勾选Input

3.6注释,根据个人选择

 4设置完成就可以添加文件了

4.1.1添加MCU

 4.1.2添加MCU后应该选择MCU,(选择上文创建的ioc)

 选完以后(STM32F103C8TX)

 4.2添加GPIO

 此时可以根据需要勾选电平翻转或者继续添加脉冲源

4.3添加脉冲源(非必须)

 可以配置脉冲源参数,周期,占空比和延时等

5.仿真

 

6.点击右上角代码生成按钮或者按住键盘Ctrl+B生成代码

正在生成代码,根据个人电脑配置情况,需要等待一会

 代码生成完成

 7.打开生成的代码文件编译

编译没问题

8.下载到硬件,根据个人情况选择工具下载

9.功能验证 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_61687959/article/details/121922473

智能推荐

oracle 字符集修改方案,oracle字符集修改方案-程序员宅基地

文章浏览阅读1k次。关于oracle字符集文档Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。1 参数说明影响oracle数据库字符集最重要的参数是NLS_LANG参数Oracle的字符集命名遵循以下命名规则:size..._zhs16gbkgb18030 修改

QWidge类-程序员宅基地

文章浏览阅读992次,点赞18次,收藏28次。QWidget类是所有用户界面对象的基类。

ChatGPT 和隐写术生成恶意软件的威胁和风险以及防范_隐写术的新闻-程序员宅基地

文章浏览阅读285次。摘要:本文介绍了使用 ChatGPT 和隐写术生成恶意软件的方法、所带来的威胁和风险,以及针对这种方法的防范措施。优化和混淆恶意软件代码:为降低被检测到的风险,攻击者可能会修改代码的结构和变量名,使得恶意生成的恶意软件可能被用于进行针对性或大规模的网络攻击,给个人和组织带来巨大的经济损失和声誉损害。摘要:本文探讨了使用 ChatGPT 和隐写术生成恶意软件的威胁和风险,以及为应对这些威胁和风险而采取的防范措施。摘要:本文讨论了使用 ChatGPT 和隐写术生成恶意软件的威胁和风险,以及一些可能的防范措施。_隐写术的新闻

barplot条形图的图例位置设置_bar如何控制图例位置-程序员宅基地

文章浏览阅读1.4w次,点赞10次,收藏17次。例如我把图例移到中间,则:> barplot(counts,beside=TRUE,col=c("red","green","yellow"),legend=rownames(counts),main="条形图",xlab="处理方式",ylab="频数",args.legend=c(x=5.4,y=28.7))args.legend=c(x=,y=)如果不知道x 和y 的具体位置,可使用_bar如何控制图例位置

vue3 vue-router使用详解_vue3 router-view-程序员宅基地

文章浏览阅读1.2w次,点赞6次,收藏30次。vue3引入router详解,vue3+typescript使用Vue-Router包详解。_vue3 router-view

CMake Tutorial 巡礼(10)_添加生成表达式_build_interface-程序员宅基地

文章浏览阅读911次。CMake Tutorial 跟我一起学_build_interface

随便推点

【Kettle-ERROR】ETL工具-Kettle连接MySQL报错及解决方案_kettlekettle连接mysql数据库成功,但获取不到表名-程序员宅基地

文章浏览阅读1.9k次,点赞2次,收藏2次。1.驱动问题在kettle中新建mysql连接时,一般都选择Native(JDBC)方法,这时需要下载与MySQL版本对应的connector连接jar包,放在kettle安装目录的 data-integration\lib下;低版本的MySQL数据库按这种方法一般没问题,但是mysql 8.0以上connector已经不再支持这个包名,所以会出现已经将mysql-connector-java-8.0.xx.jar包拷贝到lib目录下,但还是报错说找不到驱动。报错如下:错误连接数据库 [tcc] _kettlekettle连接mysql数据库成功,但获取不到表名

docker 20.10.9 dockerd containerd containerd-shim-runc-v2 runc 组件分析_devmapper not configured-程序员宅基地

文章浏览阅读3.4k次。下载地址https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz解压到/usr/local/yeqiang@yeqiang-PC:/usr/local/docker$ ll总用量 200848-rwxr-xr-x 1 root staff 33908392 2022-03-14 09:47:07 containerd-rwxr-xr-x 1 root staff 6508544 2022-03-_devmapper not configured

一起来学SpringCloud之 - 路由网关(Zuul)_java cloud的路由叫什么-程序员宅基地

文章浏览阅读1w次。上一篇已经讲了微服务组件中的 分布式配置中心,本章讲述 由JAVA编写的服务路由网关Zuul…_java cloud的路由叫什么

layui框架中switch 开关监听+ajax 数据更新案例_layui-form-switch 触发ajax事件-程序员宅基地

文章浏览阅读1.3w次。layui.use('form', function(){ var form = layui.form ,layer =layui.layer; //监听短信开关 form.on('switch(alert_sms)', function(data){ var index_sms; var alert_value =this.checked ? '1'_layui-form-switch 触发ajax事件

Numpy:repeat用法详解 Python_python np.repeat-程序员宅基地

文章浏览阅读811次。NumPy的函数是一个非常有用的函数,可以用来重复数组中的元素。本文详细介绍了函数的用法,包括扁平化重复操作和按轴重复操作。我们还提供了相应的源代码示例,希望能帮助读者更好地理解和使用函数。_python np.repeat

Mac for postman interceptor安装_mac postman interceptor-程序员宅基地

文章浏览阅读1k次。1、先安装chrome浏览器下载一个chrome,进行正常安装即可,本人chrome版本为92,下载插件一定要最新版本1.1以上;2、再安装postman从官网下载了一个新最的进行正常安装(本人的太老了,取了最新版本postman)3、在chrome中添加插件interceptor下载地址:https://www.crx4chrome.com/crx/560/下载文件名为aicmkgpgakddgnaphhhpliifpcfhicfo-1.1.2-Crx4Chrome.c.._mac postman interceptor

推荐文章

热门文章

相关标签