使用MATLAB/Simulink点亮STM32开发板LED灯-笔记
一、STM32CubeMX新建工程
1. 打开 STM32CubeMX 软件,点击“新建工程”,选择中对应的型号
2. RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
开启 LSE(外部低速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
3. 配置调试模式
非常重要的一步,否则会造成第一次烧录程序后续无法识别调试器
SYS 设置,选择 Debug 为 Serial Wire
4.配置所需要的输入和输出引脚
根据电路板硬件的实际情况配置LED灯引脚
5.选择时钟
在 HCLK (MHz)
输入框中,改为频率为 72MHz,自动计算时钟分配。
6.工程文件的输出
输入项目名和项目路径和选择应用的 IDE 开发环境 MDK-ARM V5
7.工程文件代码生成
每个外设生成独立的 ’.c/.h’ 文件
不勾:所有初始化代码都生成在 main.c
勾选:初始化代码生成在对应的外设文件。 如 GPIO 初始化代码生成在 gpio.c 中。
8.点击 GENERATE CODE 生成代码
9.打开MDK-ARM V5 进行编译,无错误 无警告
二、Simulink 新建工程
打开MATLAB 的 Simulink
(动态系统和嵌入式系统的多领域模拟和基于模型的设计工具)
在Simulink 新建 空白模型
similink库中的Stateflow下拉框选择“Chart”,拖到右侧空白框中。改名为“LED_STate”。
双击“Chart”进入里面的内容,拖动“状态”组件。后续作为状态转移。
在状态框中写入如下代码并状态与状态之间相连
after:after函数函数就是经过多长时间再到下一个状态,相当于延时
通过“建模”下的“符号窗格” 看到三个名称的状态有感叹是提示没有定义。
通过单击每个符号名称的类型进行修改,led_output 改为“Output Data”。
也可以通过选择符号名称右键-> 检查
属性检查器可查看属性信息
led_output 类型改为“uint8”