目录

STM32CubeMX 基本使用

一【基本知识】

● STM32CubeMX 是 ST 意法半导体近几年来大力推荐的 STM32 芯片图形化配置工具,目的就是为了方便开发者,允许用户使用图形化向导【生成初始化代码】,省去了我们配置各种外设复杂的参数,大大的节省了时间。STM32CubeMX 支持多种工具链,比如 MDK、IAR For ARM、TrueStudio 以及 Makefile 等。STM32CubeMX 几乎覆盖了 STM32 全系列芯片,比如 STM32F、STM32G、STM32H、STM32L 等。
● HAL 库是 Hardware Abstraction Layer 的缩写,中文名称为硬件抽象层,是 ST 公司为 STM32 的 MCU 最新推出的硬件抽象层驱动库,为更方便的实现跨 STM32 产品的最大可移植性。
网文:STM32 CubeMx 使用教程

二【STM32CubeMX 安装】

1、安装 JRE

由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以事先需要安装 JRE。JRE 包含了 JVM 虚拟机以及 Java 语言的核心类库,用于运行 java 程序。打开【官网】,选择 Windows Offline (64-bit) 版本下载。安装方法很简单,点击“安装”即可。备注:想了解更多 JRE 的知识,请移步《linux JAVA 开发环境 JDK》。

../img/20210606_02_01.gif

2、安装 STM32CubeMX

首先到官网下载 STM32CubeMX,由于需要填写 Email 相关信息及官网下载网速可能过慢,个人建议到普通软件网站下载再升级到最新版(升级方法:Help → Check for Updates → Refresh)。STM32CubeMX 的安装很简单,一路 Next 及选择同意,最后 Done 即可。备注:无论安装目录还是创建工程,都不应使用中文,否则可能会出错!

../img/20210606_02_02.gif

3、安装 HAL 库

HAL 库的安装分两种:离线安装、在线安装。如果你之前已经下载 HAL 库离线包,点击菜单:Help → Manage embedded software packages → From Local… 直接导入即可;否则建议在线安装:Help → Manage embedded software packages → Install Now。

../img/20210606_02_03.jpg

三【STM32CubeMX 使用】

1、第一步新键工程(如图

../img/20210606_03_01.jpg

2、选择芯片及封装(如图

../img/20210606_03_02.jpg

3、配置晶振及时钟(如图

../img/20210606_03_03_f01.gif
../img/20210606_03_03_f02.gif
../img/20210606_03_03_f03.gif
补充:
STM32F429xxx时钟配置参考

4、配置 GPIO 引脚(如图

../img/20210606_03_04_f01.gif
../img/20210606_03_04_f02.gif
../img/20210606_03_04_f03.gif
../img/20210606_03_04_f04.gif
../img/20210606_03_04_f05.gif

5、配置 UART 串口(如图

../img/20210606_03_05_f01.gif
../img/20210606_03_05_f02.gif
../img/20210606_03_05_f03.gif

6、工程配置及生成(如图

../img/20210606_03_99_f01.gif
../img/20210606_03_99_f02.gif
../img/20210606_03_99_f03.gif

四【STM32CubeMX 更多】

1、【调试引脚】初始与使用(如图

必须使能调试引脚,否则烧录一次之后将无法再使用仿真器仿真或烧录程序!(补救方法还是有的,只是操作起来有点麻烦。方法一:按着 MCU 的复位键不放,点击 Keil 下载,等界面进入下载流程时松开按键,如果不成功多试几次;方法二:BOOT1=X BOOT0=0 两引脚电平决定程序从单片机内部 Flash 存储器启动,暂时修改 BOOT0=1 为高电平,则程序启动不起就不会影响调试引脚功能,此时即可烧录程序,不过前提硬件需要预留 BOOT0 引脚为可设置高低电平!)

../img/20210606_05_01.jpg

2、【普通IO脚】初始与使用(如图

../img/20210606_03_04_f01.gif
../img/20210606_03_04_f02.gif
../img/20210606_03_04_f03.gif
../img/20210606_03_04_f04.gif
../img/20210606_03_04_f05.gif

3、【外部中断】初始与使用(如图

../img/20210606_05_03_f01.gif
../img/20210606_05_03_f02.gif
../img/20210606_05_03_f03.gif
../img/20210606_05_03_f04.gif

4、【串口通讯】初始与使用(如图

../img/20210606_03_05_f01.gif
../img/20210606_03_05_f02.gif
../img/20210606_03_05_f03.gif

5、【定 时 器】初始与使用(如图

待续……

6、【PWM 输出】初始与使用(如图

../img/20210606_05_06_f01.gif
../img/20210606_05_06_f02.gif

7、【看 门 狗】初始与使用(如图

../img/20210606_05_07_f01.gif
../img/20210606_05_07_f02.gif

8、【SPI 总线】初始与使用(如图

../img/20210606_05_08_f01.gif
../img/20210606_05_08_f02.gif