1.STM32F10x_StdPeriph_Lib_V3.5.0 是库函数的全称
2.libraries里面包含的是函数库.C和.H以及CMSIS部分
3.Project里面包含针对MCU各个模块的实际例子
4.例子里面的文件组织形式如下:
发现里面都包含:stm32f10x_conf.h/stm32f10x_it.c/stm32f10x_it.h/system_stm32f10x.c
5.先说个问题:
我们在选择使用哪些外围的时候,是去更改从官方模版中拷贝过来的stm32f10x_conf.h文
件的27-48行,把我们要用的外围的头文件包含进来,不用的外围的头文件注释掉,但是你
是否发现我们根本没有在用户主程序文件中包含stm32f10x_conf.h这个文件。那我们的修改
这个文件怎么进入主程序文件的呢?答案只有一个,它包含在stm32f10x.h这个文件中,因为
在用户主文件中我们第一句就使用了#include "stm32f10x.h",所以应该是stm32f10x.h这个
文件包含了stm32f10x_conf.h,间接的包含进了用户主程序文件中。
有了上面的认识:我们打开stm32f10x.h在里面搜索stm32f10x_conf.h,发现有:
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
在keil里面我们可以进行如下设置:
这样包含“stm32f10x.h”时就会包含进 #include "stm32f10x_conf.h"了。
6.stm32f10x.h的路径: E:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
可见是CMSIS的一部分
7.文件来源:
stm32f10x_conf.h: 拷贝自官方模板,比如上面第4项提到的库里面的例子。
stm32f10x_it.c: 这是包含MCU中断处理函数的;在官方例子里面也有。用到中断必不可少
stm32f10x_it.h:中断头文件
system_stm32f10x.c:仅仅是完成系统时钟的配置。官方例子里面都有包含,可以打开看一下,里面有描述这个文件的作用。
如果不适用任何外设或者用系统时钟做其他用途的话,可以不用stm32f10x_rcc.c;
tm32f10x_rcc.c中的函数不仅仅是完成分频倍频的功能,还有开启外设时钟,检测RCC中断,配置RTC
时钟等功能,不是单单配置一个系统时钟那么简单.
8. STM32F10xxx标准外设库体系结构如图:
各个文件功能说明:
9.本文大部分来源于:http://www.cnblogs.com/emouse/archive/2011/11/29/2268441.html