当我们使用STM32时,首先需要导入的头文件便是核心头文件。这些头文件包含了对于STM32的各种定义、寄存器、配置等信息。使用时,需要加入以下语句:
#include "stm32f10x.h"
这个头文件会自动搜寻我们使用的STM32型号,并导入相应的头文件,对于各种外设的使用都有必要的定义以及函数,是其他头文件的基础。
除了核心头文件,STM32还有很多专属头文件,这些头文件包含了对应的子模块需要的头文件。使用时需要先了解使用的设备型号以及子模块,再导入相应的头文件。例如我们想使用I2C模块,需要加入以下语句:
#include "stm32f10x_i2c.h"
同样,STM32包含许多子模块,因此使用专属头文件可以减少编写和维护代码的时间和难度。
CMSIS(Cortex Microcontroller Software Interface Standard)是一种面向Cortex-M架构芯片的的标准软件接口。其主要的作用是将不同的处理器架构和应用程序分离,我们可以通过CMSIS接口开发应用程序,而不需要过多考虑芯片内部的处理器架构特性。CMSIS的使用需要导入其头文件:
#include "core_cm3.h"
如果需要使用CMSIS-DAP等调试工具,还需要导入:
#include "DAP_config.h"
使用CMSIS头文件极大地增强了代码的可移植性和复用性,使得开发效率得到了很大的提升。
除了以上三种头文件外,STM32还提供了库函数(Library)来简化开发过程。这些库函数包含了对各种外设和模块的驱动程序和底层代码,可以直接调用,省去了编写大量底层代码的时间。使用库函数需要导入以下头文件之一:
#include "stm32f10x_lib.h"
#include "stm32f10x_conf.h"
这两个头文件包含了STM32的大部分外设库函数,可以方便地使用各种外设。有了库函数的帮助,我们可以更加专注于代码的实现和功能实现,而不需要花费大量时间在学习各种外设底层的实现方法上。