一直以来习惯了用标准外设库开发,但是得知后续ST公司几乎停止维护标准外设库,转而维护HAL库,并且HAL库支持更多芯片,所以有必要学习HAL库开发,并且HAL库相对来说集成度更高,能更快速开发和上手,废话不多说,开始!
1. 硬件环境
1.1 用于写代码和编译的电脑一台
这个电脑没多大讲究,目前市面上的随便一台电脑几乎都能写代码和编译,不过写代码和编译靠的是CPU和内存,所以有条件可以用更好的CPU和内存,编译速度会大大增加!
1.2 单片机
推荐使用STM32F407(性价比高,功能齐全),本文也以STM32F407作为实验。
预算低,买核心板 。核心板提供最小系统运行所需的硬件资源。其设计注重紧凑性和功能性,通常不带外设接口,需通过扩展底板使用或者通过引出的IO引脚和外设连接。

预算充足,买开发板 。开发板是完整硬件平台,除核心组件外还集成丰富外设(如USB、GPIO、显示屏接口等),说白了就是整个板子把几乎所有的硬件资源都集成在一个板子上。如图是正点原子的开发板:

1.3 程序烧录器:ST-LINK V2仿真烧录器

ST-LINK V2主要用于STM8和STM32系列微控制器的程序烧写。支持SWD(Serial Wire Debug)和JTAG调试接口,兼容ST官方开发环境(如STM32CubeIDE、Keil、IAR等),具有高速烧录和实时调试能力。我们一般使用SWD方式烧录,只需要用到4个烧录口:DIO,CLK,GND,3V3。
1.4 调试工具:USB转串口工具
USB转串口一般用于和单片机串口的通信,输出调试信息和输入指令。另外还能够通过单片机的ISP进行串口方式烧录程序。