新版的固件库V3.0以上 main等源文件中不再直接包括stm32f10x_conf.h,而是stm32f10x.h,stm32f10x.h则界说了发动设置,以及一切寄存器宏界说,此文件中需求留意的有:
1、device挑选
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
#define STM32F10X_MD
#endif
此段代码在stm32f10x.h的开端处,依据所用的器材 撤销适宜的注释。我常用的是stm32f103c8t6 归于Medium density Value Line devices.
2、外部时钟频率挑选
#if !defined HSE_VALUE
#ifdef STM32F10X_CL
#define HSE_VALUE ((uint32_t)25000000)
#else
#define HSE_VALUE ((uint32_t)8000000)
#endif
#endif
留意STM32F10X_CL,STM32F10X_CL是stm32f105 和stm32f107 互联型的device,用到此器材外部要选用25MHz的晶体,因为前面的代买没有撤销 的注释,所以此处默许的外部8MHz的晶体
3、外设宏界说USE_STDPERIPH_DRIVER
#if !defined USE_STDPERIPH_DRIVER
#endif
假如不适用片内外设,则不要撤销 的注释
留意stm32f10x.h文件的最终有这样的代码:
#ifdef USE_STDPERIPH_DRIVER
#include “stm32f10x_conf.h”
#endif
stm32f10x_conf.h中包括了一切外设的头文件,因而恣意源文件只需包括了stm32f10x.h,就可以在源文件调用恣意外设的函数。
若有外设为使用到,在stm32f10x_conf.h注释相应部分,项目编译时就不会在编译去掉的外设。