作者:saodeisinei
转自:http://blog.chinaunix.net/uid-26435987-id-3276163.html
在选择使用哪些外设的的时候,是去更改从官方模版中拷贝过来的stm32f10x_conf.h文件的27-48行,把我们要用的外围的头文件包含进来,不用的外围的头文件注释掉,但是你是否发现我们根本没有在用户主程序文件中包含stm32f10x_conf.h这个文件。那我们的修改这个文件怎么进入主程序文件的呢?答案只有一个,它包含在stm32f10x.h这个文件中,因为在用户主文件main.c中我们第一句就使用了#include "stm32f10x.h",所以应该是stm32f10x.h这个文件包含了stm32f10x_conf.h,所以是将stm32f10x_conf.h 间接的包含进了用户主程序main.c 文件中。(其实大家去看看固件库的文件结构图就明白了确实是这样,我们推测是对的,参见下图1)
图1. STM32F10xxx标准外设库体系结构
这个条件编译就是说:如果定义了USE_STDPERIPH_DRIVER,那么就包含stm32f10x_conf.h,没有定义就不包含。那不用说了,我们想使用固件库,所以就应该预定义USE_STDPERIPH_DRIVER。在stm32f10x.h中第89行去掉注释即可。