0.前面的话
之前在B站上看到了STM32-MATLAB开发环境设置的视频,但是STM32MatTarget包已经被ST官方移除了,这种方法已经过时了。现在有新的方法来利用Matlab来开发STM32,这里来分享一下。主要是参考matlab官方自带文档里的例程和官方视频。
Using Simulink with STM32 Discovery and STM32F4xx-Based Boards
1、准备工作
软件环境:MATLAB2022a
硬件:STM32F407VGT6 Discovery Kit
配置simulink环境:点击“附加功能”里的“获取硬件支持包”,搜索“stm32”,安装相应的支持包。
注意:安装路径里不能有中文和空格!!!不然后续无法成功编译下载程序!!!
2、点灯示例
搭建如下所示的模型:
pulse generator模块是用来设置STM32 GPIO对外输出的电平。因为是离散系统,所以需选择 基于采样,采样时间设置为0.5,周期(采样数)设置为2,脉冲宽度(采样数)设置为1。
GPIO Write设置为GPIO D 和 15。
模型搭建完毕,在对硬件进行设置。这里有两种方法进行设置。
2.1 特定开发板设置
第一种设置特别简单,因为是针对特定的STM32板子,所以局限性大。
到此设置完毕,点击Hardware下的Build,Deploy&Start,程序就会正常下载到STM32F4 Disc开发板中去,对应的LED也会闪烁。
2.2 通用设置方法
Ctrl+E后设置如下:
STM32CubeMx设置如下,GPIO和时钟设置这里不展示了,仅展示最关键的地方:
保存工程即可,不要点“Generate Code"!
然后回到simulink中来,点击Browse来加载刚刚新建的ioc文件。
到此设置完毕,点击
稍等13s左右程序就会下载到开发板里自动运行,不需要手动复位。