在上一小节中已经介绍了使用标准外设库的开发的优势,因此对标准外设库的熟悉程度直接影响到程序的编写,下面让我们来认识一下STM32F10XXX的标准外设库。STM32F10XXX的标准外设库经历众多的更新目前已经更新到最新的3.5版本,开发环境中自带的标准外设库为2.0.3版本,本书中以比较稳定而且较新的V3.4版本为基础介绍标准外设库的结构。

可以从ST的官方网站下载到各种版本的标准外设库,首先看一下3.4版本标准外设库的文件结构,如图 5?3所示。3.0以上版本的文件结构大致相同,每个版本可能略有调整。

STM32标准外设库的文件结构解析

图 5?3 STM32F10XXX V3.4标准外设库文件结构

表 5?4中介绍了每个文件夹所包含的主要内容。

表 5?4 STM32F10XXX V3.4标准外设库文件夹描述

STM32F10x_StdPeriph_Lib_V3.4.0

_htmresc

本文件夹包含了所有的html页面资源

Libraries

CMSIS

见表 5?6

STM32F10x_StdPeriph_Driver

inc

标准外设库驱动头文件

src

标准外设库驱动源文件

Project

Examples

标准外设库驱动的完整例程

Template

MDK-ARM

KEIL RVMDK的项目模板示例

RIDE

Raisonance RIDE的项目模板示例

EWARM

IAR EWARM的项目模板示例

Utilities

STM3210-EVAL

本文件夹包含了用于STM3210B-EVAL和STM3210E-EVAL评估板的专用驱动

标准外设库的第一部分是CMSIS 和STM32F10x_StdPeriph_Driver,CMSIS 是独立于供应商的Cortex-M 处理器系列硬件抽象层,为芯片厂商和中间件供应商提供了简单的处理器软件接口,简化了软件复用工作,降低了Cortex-M 上操作系统的移植难度,并减少了新入门的微控制器开发者的学习曲线和新产品的上市时间。STM32F10x_StdPeriph_Driver则包括了分别对应包括了所有外设对应驱动函数,这些驱动函数均使用C语言编写,并提供了统一的易于调用的函数接口,供开发者使用。Project文件夹中则包括了ST官方的所有例程和基于不同编译器的项目模板,这些例程是学习和使用STM32的重要参考。Utilities包含了相关评估板的示例程序和驱动函数,供使用官方评估板的开发者使用,很多驱动函数同样可以作为学习的重要参考。

STM32F10xxx标准外设库体系结构如图 5?4所示。图中很好的展示了各层以及具体文件之间的联系,各文件的具体功能说明如表 5?5所示。

STM32标准外设库的文件结构解析

图 5?4 STM32F10xxx标准外设库体系结构