STM32单片机编程中,我们要在C/C++选项下定义宏USE_STDPERIPH_DRIVER,它的作用是什么呢?
1、USE_STDPERIPH_DRIVER宏的作用
main.c是入口,在main.c中会包含头文件“stm32f10x.h”,在stm32f10x.h文件中,我们会在8296行发现“USE_STDPERIPH_DRIVER”用处的地方:
从这里我可以看出,只有用预编译指令预定义了宏“USE_STDPERIPH_DRIVER”,那么才会包含头文件“stm32f10x_conf.h”,从而被包含进“main.c”文件中。头文件“stm32f10x_conf.h”里面包含了STM32固件库标准外设驱动的头文件,通过包含头文件“stm32f10x_conf.h”,我们就将所有的外设驱动的头文件都包含了进来。
当然如果我们不包含头文件“stm32f10x_conf.h”,也可以直接用码 #include "stm32f10x_gpio.h
"来包含所需的外设驱动文件。
2、如何定义“USE_STDPERIPH_DRIVER”
在“C/C++”预定义中定义“USE_STDPERIPH_DRIVER”宏,就允许“使用标准外设驱动”了。要想每个工程都使用标准外设驱动,就要每个工程都要去定义这个宏。
要想一劳永逸,就是在“stm32f10x.h”文件中,将“#define USE_STDPERIPH_DRIVER”注释去掉就行了。