STM32CubeMX安装与使用——实现流水灯

文章目录

    • 一、Java环境准备
    • (1)下载JDK
    • (2)安装JDK环境
    • 二、安装STM32CubeMX
    • (1)STM32CubeMX的下载
    • (2)STM32CubeMX的安装
    • 三、使用STM32CubeMX生成代码
    • (1)工程创建
    • (2)配置外设
    • (3)配置时钟
    • (4)配置GPIO
    • (5)工程设置
    • 四、使用Keil5编译
    • (1)修改函数
    • (2)编译
    • 五、运行效果
    • 六、Keil5仿真观察管脚时序波形
    • (1)调整配置
    • (2)调试并观测波形
    • (3)分析波形
    • 七、个人总结
    • 八、参考文献

一、Java环境准备

(1)下载JDK

STM32CubeMX 是 Java 实现的,需要安装 JDK 环境。

jdk11-Windows版本下载链接:https://www.oracle.com/java/technologies/downloads/#java11-windows

打开官网后选择Windows版本的第二个下载。
STM32CubeMX安装与使用——实现流水灯_第1张图片

(2)安装JDK环境

~打开安装按照指示点击下一步。
STM32CubeMX安装与使用——实现流水灯_第2张图片

~根据自己的需要更改文件下载地址,之后点击下一步。
STM32CubeMX安装与使用——实现流水灯_第3张图片

~安装完成,点击关闭。
STM32CubeMX安装与使用——实现流水灯_第4张图片

二、安装STM32CubeMX

(1)STM32CubeMX的下载

STM32CubeMX 官网下载地址:https://www.st.com/en/development-tools/stm32cubemx.html

~打开网址后选择Windows的版本下载。
STM32CubeMX安装与使用——实现流水灯_第5张图片

~这里选择最新的版本6.30。
STM32CubeMX安装与使用——实现流水灯_第6张图片

~点击下载后会出现许可协议,点击接受。
STM32CubeMX安装与使用——实现流水灯_第7张图片

~下载软件需要填写姓名和邮箱地址,注意:姓名可以随便填一个,电子邮箱一定要填可以收到邮件的真实邮箱地址。
(部分浏览器存在点击下载没反应的问题,换一个浏览器就可以解决了)
STM32CubeMX安装与使用——实现流水灯_第8张图片

~打开邮箱中收到的邮件,点击立即下载。
STM32CubeMX安装与使用——实现流水灯_第9张图片

(2)STM32CubeMX的安装

~将下载的安装包解压,点击右键以管理员身份运行安装程序。
STM32CubeMX安装与使用——实现流水灯_第10张图片

~点击Next。
STM32CubeMX安装与使用——实现流水灯_第11张图片

~勾选我同意,然后点击Next。
STM32CubeMX安装与使用——实现流水灯_第12张图片

~勾选“l have read…”,然后点击Next。
STM32CubeMX安装与使用——实现流水灯_第13张图片

~选择文件的下载目录,然后点击Next。
STM32CubeMX安装与使用——实现流水灯_第14张图片

~等待安装,进度条完了后点击Next。
STM32CubeMX安装与使用——实现流水灯_第15张图片

~点击Done,完成安装。
STM32CubeMX安装与使用——实现流水灯_第16张图片

~安装固件库,不同芯片选择相对应的库。打开STM32CubeMX程序,点击ACCESS TO MCU SELECTOR即可。
STM32CubeMX安装与使用——实现流水灯_第17张图片

~点击Help,然后选择Manage embedded software packages。
STM32CubeMX安装与使用——实现流水灯_第18张图片

~这里选择芯片类型是STM32F1,然后选择1.8.4版本下载,再点击 Install Now。
STM32CubeMX安装与使用——实现流水灯_第19张图片

三、使用STM32CubeMX生成代码

在 Home 界面,开始建立工程。

(1)工程创建

~点击File,选择New Pioject,创建新工程。
STM32CubeMX安装与使用——实现流水灯_第20张图片

~在 Part Number 里选择STM32F103C8芯片,右边会出现芯片信息,选中芯片后,双击进入工程。
STM32CubeMX安装与使用——实现流水灯_第21张图片

(2)配置外设

~在 Pinout &Configuration 里,点击SYS,Debug这里选择Serial Wire。
STM32CubeMX安装与使用——实现流水灯_第22张图片

~点击RCC进行设置,外部高速时钟HSE选择 Crystal/Ceramic Resonator。
STM32CubeMX安装与使用——实现流水灯_第23张图片

(3)配置时钟

~在 Cook Configuration 里,按照下面方式将 STM32 最高时钟调为72M。
STM32CubeMX安装与使用——实现流水灯_第24张图片

~在pinout中,点击Connectify ,选择 USART1,模式选择 Asynchronous,完成配置。
STM32CubeMX安装与使用——实现流水灯_第25张图片

(4)配置GPIO

点击GPIO,点击管脚 PA5,在菜单中选择 GPIO_Output,依次配置其他引脚,PB0 、PC14和PA5一样。在左侧的 GPIO 中看到每个管脚的位置,输出模式output level选择High高电平。STM32CubeMX安装与使用——实现流水灯_第26张图片

(5)工程设置

~在 Project Manager 界面中选择 Project ,选择要保存的过程文件地址,因为使用Keil5来编译,所以选择MDK—ARM,V5。
STM32CubeMX安装与使用——实现流水灯_第27张图片

~在 Code Gendertor 中,勾选“Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral”。
STM32CubeMX安装与使用——实现流水灯_第28张图片

~最后点击 GENERATE CODE ,生成对应的工程文件,并点击 Open Project 通过 Keil5 自动打开工程。
STM32CubeMX安装与使用——实现流水灯_第29张图片
也可以打开保存的工程文件,点击MDK-ARM文件,打开对应keil文件即可。
STM32CubeMX安装与使用——实现流水灯_第30张图片

四、使用Keil5编译

(1)修改函数

打开Keil文件后点击Application,在 main.c 文件里的 while(1) 循环内添加以下代码。

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_Delay(100) ;//100ms  
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
HAL_Delay(100) ;//100ms

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
HAL_Delay(100) ;//100ms
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
HAL_Delay(100) ;//100ms

HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_RESET);
HAL_Delay(100) ;//100ms
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_14,GPIO_PIN_SET);
HAL_Delay(100) ;//100ms

放入函数中如下图所示:
STM32CubeMX安装与使用——实现流水灯_第31张图片

(2)编译

~点击魔法棒进行设置修改。
STM32CubeMX安装与使用——实现流水灯_第32张图片

~点击output,勾选Create HEX File,这样可以生成hex文件。
STM32CubeMX安装与使用——实现流水灯_第33张图片

~点击编译,生成 hex 文件。
在这里插入图片描述

五、运行效果

烧录还是使用 mcuisp 软件,操作过程和流水灯效果和本人上篇博客一致,可参考。
上篇博客链接:https://blog.csdn.net/qq_45930985/article/details/120938763?spm=1001.2014.3001.5501

六、Keil5仿真观察管脚时序波形

在没有示波器条件下,这里要使用Keil的软件仿真逻辑分析仪功能来观察管脚的时序波形。

(1)调整配置

~点击魔法棒,将 Target 界面的 Xtal 改为72MHz。
STM32CubeMX安装与使用——实现流水灯_第34张图片

~设置 Debug,将图中的红框中选项修改,修改完点击OK。
STM32CubeMX安装与使用——实现流水灯_第35张图片

(2)调试并观测波形

~进入调试界面,点击 Debug,进入调试。
STM32CubeMX安装与使用——实现流水灯_第36张图片

~选择逻辑分析仪,点击Analysls windows。
在这里插入图片描述

~点击 View 菜单,再选择"Symbols Window" 选项,就打开了 Symbols Window 窗口。
STM32CubeMX安装与使用——实现流水灯_第37张图片

~这里选择将GPIOA_IDR、GPIOB_IDR、GPIOC_IDR拖入到逻辑分析仪里。
STM32CubeMX安装与使用——实现流水灯_第38张图片

~点击 “Setup”,将3个管脚的 Display Type 改为 Bit ,然后点击 Close。
STM32CubeMX安装与使用——实现流水灯_第39张图片

~点击左上角的 Run 进行全速运行。
在这里插入图片描述

~现在就可以看到3个GPIO端口的输出电平。
STM32CubeMX安装与使用——实现流水灯_第40张图片

(3)分析波形

分析观察3个 GPIO 端口输出的波形,发现他们的电位变化与之前代码执行的实际效果一致;但是仿真的波形周期和实际上流水灯闪烁周期有一定程度上的差别,但是差距不大。

七、个人总结

这一次实验相较于上一次流水灯实验,就多了一个STM32CubeMX软件。用这个软件来进行流水灯代码编译,的确更简单一些。并且使用STM32CubeMX也给我开拓不一样的实验方法,结合这个实验和上个实验,可以说是条条大路通罗马,只是说有些路会难走一些,但是最终都会有所收获。

八、参考文献

1、https://blog.csdn.net/qq_43279579/article/details/112213196
2、https://blog.csdn.net/qq_43279579/article/details/112233696
3、https://blog.csdn.net/Greider/article/details/117389799

你可能感兴趣的:(stm32,lua,arm)