目录
一、实验工具准备
(一)、实验工具
1、keil uVsion5
2、STM32CubeMX
3、STM32F103RC8T6最小系统板
4、ST-Link仿真器
(二)、STM32CubeMX环境安装教程
1. STM32CubeMX简介
STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。
在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间
2.JRE安装
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用.
安装来源如下:
官网: https://www.java.com/en/download/manual.jsp
BD云: https://pan.baidu.com/s/1rI_XrM2SAw-6Jbvj75SWpg?pwd=hwk7 提取: hwk7
新lian接:
BD云: https://pan.baidu.com/s/1rj56i9HS4UAaE9yEaiIsaA?pwd=ack6 提取: ack6
· 勾选更改目标文件后点击安装
· 安装路径默认C盘可自行更改安装路径,但需要注意安装路径不能包含中文
· 等待成功安装即可
3.STM32CubeMX安装
安装来源如下:
官网:www.st.com/stm32cubemx(需要注册ST官方账号)
BD云: https://pan.baidu.com/s/1Zs_FVscmGGx6zSzcZ0L2BA?pwd=tkiv 提取: tkiv
STM32CubeMX(V6.1.1)
BD云: https://pan.baidu.com/s/1yKgxQk2vxyqAy4CrGHZYzA?pwd=8m4m 提取: 8m4m
官方网站提供了Windows、Linux和Mac三个系统版本,且版本号可选择,目前Windows最新版本为6.6.1
· 文件下载完解压后,打开SETup.exe开始安装
· 点击NEXT进入下一步
· 勾选同意上述items,然后继续点击下一步
· 勾选第一个即可,第二个选项是是否同意ST公司收集你的个人信息
· 默认安装路径为C盘,可自行更改安装路径(注意路径尽量不要包含中文)
· 这句话的意思是安装本软件可能会与文件夹之前文件冲突,导致文件夹之前文件丢失 是否继续,点击Yes即可
· 点击NEXT即可
· 安装完成
4.HAL库的安装
· 关于HAL库
STM32 HAL固件库是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,为更方便的实现跨STM32产品的最大可移植性。和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。并且从16年开始,ST公司就逐渐停止了对标准固件库的更新,转而倾向于HAL固件库和 Low-layer底层库的更新,停止标准库更新,也就表示了以后使用STM32CubeMX配置HAL/LL库是主流配置环境
· 点击进入下载好的STM32CubeMX,点击右侧框的install/remove进入packges的选择框
· 选择对应芯片型号及HAL库的版本号点击install即开始安装
· 安装成功
二、CubeMX初始化配置实现流水灯
我这里直接使用的开发板是Mini STM32F103RCT6开发板
(一)、CubeMX对应模块初始化配置
· 点击新建项目
· 选择对应芯片型号(这里我以stm32f103rct6开发板为例)
· 时钟配置,由于我们用到外设GPIO,这里使能HSE高速外部时钟(晶体/陶瓷谐振器),且一般用不上低速外部时钟所以这里没有对它进行使能
· 进入时钟数配置,选择HSE(高速外部时钟)输入且进行PLL锁相环倍频后作为系统时钟
· 进行GPIO的配置,根据原理图我们将PA8,PD2两个IO口设置为输出模式
· 配置导出工程
(二)、LED闪烁程序编写及上板测试
· 打开CubeMX配置生成的工程文件
· 再main函数的while循环里面插入以下代码
· 点击魔术棒,勾选Create HEX file
· 点击全部编译即可生成HEX文件
· 由于我选择的是USB串口下载程序,首先需要打开FlyMcu.exe,选择你设备所在的com口(可通过设备管理器查看),然后选择D:\..\LED_HAL\MDK-ARM\LED_HAL(你所建工程的位置)中的HEX文件下载
· 上板测试效果如下
三、总结
通过本节实验熟悉了通过CubeMX配置配合MDK开发整体流程,不得不说相比于之前的标准库函数开放方便了不少,开发效率大大的提高,但并不是说HAL库就比寄存器和标准库开发要好,其实最好的是将三者融会贯通,混合使用,不仅提高了开发效率而且懂得整个开发流程的原理,懂得对应模块使用的是那个寄存器,所以虽然HAL库开发方便,但是作为学习我们还是应该去了解底层寄存器的功能和配置才行。
四、参考链接
【STM32】STM32 CubeMx使用教程一--安装教程