本文主要叙述了STM32CubeMX的安装和简单应用
软件:STM32CubeMX、keil μVision
文章目录
一、STM32CubeMX简介
STM32CubeMX是一个图形化的软件配置工具。为了使用图形向导生成C初始代码,减少开发人员工作、时间和成本。该软件可以让我们用图形化的界面生成stm32的程序代码,可以通过可视化界面操作并生成stm32程序,配合keil软件,大大挽留程序员的头发(自动添加狗头)。
二、开发环境的配置
1.JDK的下载
由于STM32CubeMX是使用Java语言编写的,所以需要安装jdk环境。在甲骨文官网上面可以找到jdk的下载链接
jdk下载链接:https://www.oracle.com/java/technologies/downloads/#jdk17-windows
如果使用的是Windows系统,可以直接点击下面的链接下载jdk
https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.exe
jdk的安装过程比较简单,笔者之前学习java时已经安装过,这里就不再介绍如何安装jdk。
2.STM32CubeMX的下载
该程序有意法半导体公司开发,所以我们可以在意法半导体的官网上面下载该程序,该程序的详细下载地址如下
STM32CubeMX下载地址:https://www.st.com/en/development-tools/stm32cubemx.html#get-software
选择合适的版本下载。这里需要注意,在一步步确认后,需要填写正确的邮箱,姓名可以随便填写,实际下载地址会从邮箱发送过来。
3.STM32CubeMX的安装
解压从官网下载的安装包,然后右键,以管理员身份运行安装程序
点击Next
勾选同意,然后点击Next
继续点击同意隐私条款,然后点Next
选择安装位置,可以直接在文本框输入,或者点击Browse选择安装文件夹,点击Next
之后一直点击Next,知道Done即可。接下来是安装固件库,不同芯片选择相对应的库。打开STM32CubeMX程序,点击ACCESS TO MCU SELECTOR,下载包。
然后在菜单栏点击Help下拉选择Manage embedded software packages。
选择对应的STM32芯片的型号,然后点击Install Now
三、STM32CubeMX的简单应用
1.创建工程(New Project)
打开STM32CubeMX后,点击菜单栏File,下拉选择New Project…
在文本框输入芯片型号,在右边选择具体芯片型号,双击进入图形处理界面
2.引脚配置(Pinout & Configuration)
如果使用调试,点击System Core,下拉选择SYS,Serial Wire是SW调试。
点击RCC,配置时钟,高速和低俗时钟均选择Crystal/Ceramic Resonator(石英/陶瓷 晶振)。
接下来配置GPIO引脚,和上次实验一样,这里我们还是配置A1、A2和A3引脚。左键单击PA1,选择GPIO_Output,对A2和A3进行同样的操作。
点击System Core下的GPIO,然后单击引脚修改相关信息,通过下拉框选择配置信息。
这里和上次实验一样,初始状态设置为高电平High(默认所有灯不亮),GPIO模式为推挽输出,GPIO Pull-up/Pull-down设置为No pull-up and no pull-down,最大输出功率Maximum output speed设置为高速:High(50MHz)。
3.时钟配置(Clock Configuration)
时钟配置可以选择默认设置,也可以根据需求和芯片规格选择自己需要的速率。
4.工程管理(Project Manager)
在此页面(Project)可以修改工程基本信息,根据自己需求修改相关信息。如笔者使用的编译器是keil μVision 5,所以选择的编译器是MDK-ARM V5。
点击左边的Code Generator(代码生成器),可以修改相关设置。
最后点击右上角的GENERATE CODE(生成代码)按钮,生成工程文件可以根据提示打开工程。
5.修改程序
打开main.c主程序,在while(1)循环中添加流水灯效果的代码。实验代码和上一次实验类似,通过控制引脚的电压来实现流水灯效果,实验电路图和相关资料请读者在上一篇博客中查看。
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_2,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_3,GPIO_PIN_SET);
6.调试检查
关于如何在keil中调试,可以参考这篇博客Keil环境配置及stm32程序的仿真调试_江南烟脓雨的博客-优快云博客。在调试窗口,点击System Analyzer Windows按钮,或者在View菜单栏下选择Analyzer Windows,从中选择logic Analyzer
点击Setup
分别输入三个引脚的地址,即PORTA.1、PORTA.2和PORTA.3。
将显示类型全部改为Bit。
关闭后,点击运行。
观察波形,符合预期,实验成功。
四、总结
本次实验完成了STM32CubeMX的下载、安装和简单应用,使用这个软件确实可以减少工作量。但是总体来说,还是需要先学会STM32的原理,否则就算有这么方便的软件,依然无法完成实验。
五、参考资料
STM32CUBEMX 创建流水灯工程(详细图文教程)_quanhengwen123的博客-优快云博客_stm32cubemx流水灯