STM32CubeMX——搭建环境、编译烧写

文章内容:本文主要介绍STM32CubeMX的安装方法,以及怎么用这个软件来生成一个流水灯工程文件。

目录

 一、STM32CubeMX的环境搭建

(一)安装STM32CubeMX

(二)固件库的安装

二、用STM32CubeMX生成工程文件

(一)选择MCU和封装

 (二)配置时钟

(三)配置调试模式

(四)配置GPIO

扫描二维码关注公众号,回复: 13222004 查看本文章

(五)代码生成

三、填写main函数

四、编译与仿真运行

五、烧写与硬件实现

六、总结

七、参考文章


 一、STM32CubeMX的环境搭建

(一)安装STM32CubeMX

官网下载:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
安装过程

以管理员身份运行并安装SetupSTM32CubeMX-6.3.0-Win

 两项都勾选

设置安装目录

 勾选后下一步

等待安装,完成

(二)固件库的安装

点击 Help -> Manage embedded software paclages 

 

 找到STM32F1

选择最新版

 点击install Now进行安装

二、用STM32CubeMX生成工程文件

打开STM32CubeMX,点击New Project建立新工程

(一)选择MCU和封装

这里我选的是STM32F103RC 

 双击右下方的封装形式,这里我选的是LQFP64

 (二)配置时钟

首先我们来配置时钟,RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)

 

 选择 Clock Configuration,配置系统时钟 SYSCLK 为 72MHz
修改 HCLK 的值为 72 后,输入回车,软件会自动修改所有配置

(三)配置调试模式

SYS 设置,选择 Debug 为 Serial Wire

(四)配置GPIO

GPIO 设置,在右边图中找到 LED 灯对应引脚,选择 GPIO_Output,这里我选的PB7、PB8、PB9为LED的端口

 可以在user出给管脚命名

 

(五)代码生成

在project manager下输入项目名和项目路径,选择应用的 IDE 开发环境 MDK-ARM V5

 点击GENERATE CODE生成

三、填写main函数

打开文件我们会发现main函数里只有一些初始化,并没有主要的程序,while(1)里面是空的,这时候雨要我们来添加代码 

下面添加三个流水灯交替闪烁的代码

代码如下:

        HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_SET);//将PB7设置为高电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_7,GPIO_PIN_RESET);//将PB7设置为低电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_SET);//将PB8设置为高电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_8,GPIO_PIN_RESET);//将PB8设置为低电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//将PB9设置为高电平
		HAL_Delay(100);\\延时
		HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//将PB9设置为低电平
		HAL_Delay(100);\\延时

 自动生成的代码是由HAL库版本的代码,这里添加的代码使其中的函数

延时函数(HAL_Delay)
函数原型: void HAL_Delay (__IO uint32_t Delay)
参数说明:Delay表示所要延时的时间大小,单位是毫秒
写管脚函数(HAL_GPIO_WritePin)
函数原型:void HAL_GPIO_WritePin (GPIO_TypeDef * GPIOx, uint16_t
GPIO_Pin, GPIO_PinState PinState)
参数说明:
GPIOx: 管脚组(x的取值为A~G)
GPIO_Pin: 管脚编号(x的取值为0~15)
PinState: 管脚的状态(取值为GPIO_BIT_RESET表示0, GPIO_BIT_SET表示1)

四、编译与仿真运行

编译没有错,下面进行输出波形图仿真

首先进行一些设置

Target下的设置如图 

Debug下更改如下:

Dialog.DLL下改为DARMSTM.DLL,Parameter下改为-pSTM32F103C8 

配置好后,点击Debug 

 

点击下图所示按键

点击左上角setup,弹出对话框,添加需要查看的波形的的引脚,点击右上角的添加输入

输入GPIOx_IDR.y

x为选择的GPIO口号

y为选择的引脚号

 信号输出类型选择bit

点击左上角的run开始仿真运行

运行效果如下,说明代码正确

五、烧写与硬件实现

用mcuisp进行烧写

运行效果如图

 

六、总结

这次用了STM32CUBEMX,感觉方便了许多,相比寄存器的查表配置的繁琐与难懂,这个软件更加的直观,他和我们人的想法是一致的,我们只需用鼠标点击我们想要的模式,就能生成工程代码,大大提高了编写的效率,是个方便的软件。

七、参考文章

 STM32CubeMX学习笔记(1)——搭建环境、编译烧写_Leung的博客-CSDN博客

 STM32实现LED闪烁——基于HAL库_Harriet的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/m0_58414679/article/details/120903629