STM32CubeMX安装搭建环境、编译烧写流水灯

STM32CubeMX安装搭建环境、编译烧写流水灯

文章目录

一、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
STM32CubeMX安装搭建环境、编译烧写流水灯
勾选I accept the terms…
STM32CubeMX安装搭建环境、编译烧写流水灯
两项都勾选
STM32CubeMX安装搭建环境、编译烧写流水灯
设置安装目录,点击Next后会出现一个窗口,点击确定就行
STM32CubeMX安装搭建环境、编译烧写流水灯
STM32CubeMX安装搭建环境、编译烧写流水灯
等待安装,完成
STM32CubeMX安装搭建环境、编译烧写流水灯

(二)固件库的安装

点击 Help 然后点击Manage embedded software paclages
STM32CubeMX安装搭建环境、编译烧写流水灯
找到STM32F1,选择最新版,然后点击Install Now
STM32CubeMX安装搭建环境、编译烧写流水灯

二、用STM32CubeMX生成工程文件

打开STM32CubeMX,点击New Project建立新工程
STM32CubeMX安装搭建环境、编译烧写流水灯

(一)选择MCU和封装

这里我选的是STM32F103C8,然后选择又下脚的文件双击
STM32CubeMX安装搭建环境、编译烧写流水灯

(二)配置时钟

首先我们来配置时钟,RCC 设置,选择 HSE(外部高速时钟) 为 Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
STM32CubeMX安装搭建环境、编译烧写流水灯
选择 Clock Configuration,配置系统时钟 SYSCLK 为 72MHz
修改 HCLK 的值为 72 后,输入回车,软件会自动修改所有配置
STM32CubeMX安装搭建环境、编译烧写流水灯

(三)配置调试模式

SYS 设置,选择 Debug 为 Serial Wire
STM32CubeMX安装搭建环境、编译烧写流水灯

(四)配置GPIO

GPIO 设置,在右边图中找到 LED 灯对应引脚,选择 GPIO_Output,这里我选的PB7、PB8、PB9为LED的端口
STM32CubeMX安装搭建环境、编译烧写流水灯
点击User给管脚命名
STM32CubeMX安装搭建环境、编译烧写流水灯

(五)代码生成

在project manager下输入项目名和项目路径,选择应用的 IDE 开发环境 MDK-ARM V5
STM32CubeMX安装搭建环境、编译烧写流水灯
点击GENERATE CODE生成
STM32CubeMX安装搭建环境、编译烧写流水灯

三、填写main函数

在生成文件后,点击打开项目。
打开文件我们会发现main函数里只有一些初始化,并没有主要的程序,while(1)里面是空的,这时候需要我们来添加代码 。
STM32CubeMX安装搭建环境、编译烧写流水灯
下面添加三个流水灯交替闪烁的代码,代码如下:

        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)

四、编译与仿真运行

点击编译,没有错误
STM32CubeMX安装搭建环境、编译烧写流水灯
下面进行输出波形图仿真,首先进行一些设置
Target下的设置如图
STM32CubeMX安装搭建环境、编译烧写流水灯
Debug下更改如下:

Dialog.DLL下改为DARMSTM.DLL,Parameter下改为-pSTM32F103C8
STM32CubeMX安装搭建环境、编译烧写流水灯
配置好后,点击Debug

STM32CubeMX安装搭建环境、编译烧写流水灯
点击下图所示按键
STM32CubeMX安装搭建环境、编译烧写流水灯
点击左上角setup,弹出对话框,添加需要查看的波形的的引脚,点击右上角的添加输入

输入

GPIOB_IDR.7
GPIOB_IDR.8
GPIOB_IDR.9

信号输出类型选择bit
STM32CubeMX安装搭建环境、编译烧写流水灯
点击左上角的run开始仿真运行
STM32CubeMX安装搭建环境、编译烧写流水灯
运行效果如下,说明代码正确
STM32CubeMX安装搭建环境、编译烧写流水灯

五、烧写与硬件实现

用FlyMcu进行烧写
STM32CubeMX安装搭建环境、编译烧写流水灯
运行效果如图
STM32CubeMX安装搭建环境、编译烧写流水灯

六、总结

通过本次实验,了解了使用STM32CUBEMX生成工程,这更简单。不用去查表了。同时做的过程也更轻松,错误更少。

七、参考文献

https://blog.csdn.net/Mouer__/article/details/120872654?spm=1001.2014.3001.5501
https://blog.csdn.net/m0_58414679/article/details/120903629?spm=1001.2014.3001.5501

上一篇:UE4 C++使用Timer实现Delay功能


下一篇:21-10-15_STM32_GPIO_3