目录

一、STM32CubeMX简介

二、开发环境的配置

1.下载JDK

2.STM32CubeMX的下载

3.STM32CubeMX的安装

选择对应的STM32芯片的型号(STM32Cube MCU Package for STM32F1 Series),然后点击Install Now(这里我已经下载过,所以Install Now是灰色的)三、STM32CubeMX的简单应用

1.创建工程(New Project)

2.引脚配置(Pinout & Configuration)

3.时钟配置(Clock Configuration)

4.工程管理(Project Manager)

5.修改程序

 6.调试检查

四、总结



一、STM32CubeMX简介

STM32CubeMX是一个图形化的软件配置工具。为了使用图形向导生成C初始代码,减少开发人员工作、时间和成本。该软件可以让我们用图形化的界面生成stm32的程序代码,可以通过可视化界面操作并生成stm32程序,配合keil软件。

二、开发环境的配置

1.下载JDK

由于STM32CubeMX是使用Java语言编写的,所以需要安装jdk环境。jdk下载链接如下:https://www.oracle.com/java/technologies/downloads/#jdk17-windows

本人下的版本如下

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_引脚

2.STM32CubeMX的下载

STM32CubeMX下载地址:STM32CubeMX - STM32Cube initialization code generator - STMicroelectronics

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_stm32_02

3.STM32CubeMX的安装

解压从官网下载的安装包,然后右键,以管理员身份运行安装程序

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_嵌入式硬件_03

点击Next 

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_引脚_04

 勾选同意,然后点击Next

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_时钟配置_05

继续点击同意隐私条款,然后点Next

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_stm32_06

之后一直点击Next,知道Done即可。接下来是安装固件库,不同芯片选择相对应的库。打开STM32CubeMX程序,点击ACCESS TO MCU SELECTOR,下载包。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_stm32_07

然后在菜单栏点击Help下拉选择Manage embedded software packages。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_stm32_08

选择对应的STM32芯片的型号(STM32Cube MCU Package for STM32F1 Series),然后点击Install Now(这里我已经下载过,所以Install Now是灰色的)

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_引脚_09

三、STM32CubeMX的简单应用

1.创建工程(New Project)

打开STM32CubeMX后,点击菜单栏File,下拉选择New Project… 

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_嵌入式硬件_10

在文本框输入芯片型号,在右边选择具体芯片型号,双击进入图形处理界面

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_单片机_11

2.引脚配置(Pinout & Configuration)

点击RCC,配置时钟,高速和低俗时钟均选择Crystal/Ceramic Resonator(石英/陶瓷 晶振)。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_单片机_12

接下来配置GPIO引脚,和上次实验一样(29条消息) 学习和理解STM32F103系列芯片的地址映射和寄存器映射原理;了解GPIO端口的初始化设置三步骤(时钟配置、输入输出模式设置、最大速率设置)。

,这里我们还是配置A1、A2和A3引脚。左键单击PA1,选择GPIO_Output,对A2和A3进行同样的操作。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_单片机_13

点击System Core下的GPIO,然后单击引脚修改相关信息,通过下拉框选择配置信息。 

这里和上次实验一样,初始状态设置为高电平High(默认所有灯不亮),GPIO模式为推挽输出,GPIO Pull-up/Pull-down设置为No pull-up and no pull-down,最大输出功率Maximum output speed设置为高速:High(50MHz)。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_单片机_14

3.时钟配置(Clock Configuration)

时钟配置可以选择默认设置,也可以根据需求和芯片规格选择自己需要的速率。

4.工程管理(Project Manager)

在此页面(Project)可以修改工程基本信息,根据自己需求修改相关信息。如笔者使用的编译器是keil μVision 5,所以选择的编译器是MDK-ARM V5。
此页面各项参数可参考下图。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_引脚_15

点击左边的Code Generator(代码生成器),可以修改相关设置。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_单片机_16

最后点击右上角的GENERATE CODE(生成代码)按钮,生成工程文件可以根据提示打开工程。

5.修改程序

打开main.c主程序,在while(1)循环中添加流水灯效果的代码。实验代码和上一次实验类似,通过控制引脚的电压来实现流水灯效果,实验电路图和相关资料请读者在上一篇博客中查(29条消息) STM32F103C8T6点亮LED流水灯_

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_单片机_17

 6.调试检查

关于如何在keil中调试,可以参考Keil下STM32的c语言和汇编语言的混合编程_

在调试窗口,点击System Analyzer Windows按钮,或者在View菜单栏下选择Analyzer Windows,从中选择logic Analyzer.

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_时钟配置_18

 点击Setup

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_引脚_19

 分别输入三个引脚的地址,即PORTA.1、PORTA.2和PORTA.3。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_嵌入式硬件_20

将显示类型全部改为Bit。 

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_stm32_21

 关闭后,点击运行。

stm32cubemx 生成代码出现 Error_Handler stm32cubeprogram_时钟配置_22

观察波形,符合预期,实验成功。

四、总结

本次实验内容较多,但是本篇博客的步骤应该是比较清晰的。有错误请指出。