文章内容:本文主要介绍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
两项都勾选
设置安装目录
勾选后下一步
等待安装,完成
(二)固件库的安装
点击 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,感觉方便了许多,相比寄存器的查表配置的繁琐与难懂,这个软件更加的直观,他和我们人的想法是一致的,我们只需用鼠标点击我们想要的模式,就能生成工程代码,大大提高了编写的效率,是个方便的软件。