详细介绍STM32驱动程序库STM32F1xx_DFP中的每一个文件含义及其作用

嵌入式应用程序的开发可以基于微控制器厂商提供的驱动程序库,也可以针对外设寄存器直接编写驱动程序。使用厂商提供的驱动程序库进行开发,简单、快捷,兼容性好,便于移植,但代码略多;直接针对寄存器编程进行开发(建议利用头文件stm32f10x.h定义的寄存器结构和位定义),费时耗力,但能够深入理解原理,代码简洁高效。所以,建议初学者从驱动程序库入手,逐渐深入到寄存器编程。

MDK-ARM开发工具本身已经包含了STM32固件库,并可以通过软件包安装程序进行更新。STM32F1xxx_DFP.2.0.0的驱动程序主要在如下目录中:F:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.0.0\Device,包含了开发所必须的基本代码文件以及外设驱动程序文件。

(1)基本代码文件(均是最基本的文件,均需要在工程中添加

Device目录下的Include(头文件)和Source(源文件)子目录中包含了最基本的文件。

1、stm32f10x.h——对STM32寄存器地址、结构体类型定义的底层头文件,ST公司提供。使用STM32库时都要包含该文件。

2、system_stm32f10x.c和system_stm32f10x.h——定义核心时钟变量、设置系统时钟和总线时钟等的源文件和头文件,由ST公司提供,需要在工程中添加。STM32库V3.5版本在启动文件中调用该文件中的SystemInit()函数设置时钟,使用之前的版本需要用户在main()函数中自己调用。

3、startup_stm32f10x_hd.s——启动文件,由ST公司提供,需要在工程中添加,其中hd表示不同类型STM32微控制器。如下表所示。


(2)外设驱动程序文件(根据开发项目外设的需求,选择性使用)

Device目录下的StdPeriph_Driver子目录中包含STM32外设的驱动程序,由ST公司提供。用到的外设需要添加相应的源程序文件(MDK V5通过运行环境管理,选择需要的外设)。其中,inc和source中分别存放着驱动程序的头文件和源文件。文件名是stm32f10x_PPP,“PPP”是外设名称,如通用I/O端口(GPIO)驱动程序的头文件为stm32f10x_gpio.h,源文件为stm32f10x_gpio.c。STM32全部的标准外设名称如下表所示。


扫描二维码关注公众号,回复: 165996 查看本文章

misc.c和misc.h是一个特别的文件,提供外设访问CM3内核中NVIC(可嵌套向量中断控制器)的函数。使用中断时,需要将该文件添加到工程中。

StdPeriph_Driver目录下有一个重要的文件stm32f10x_stdperiph_lib_um.chm,即STM32F10X标准外设固件库手册,它是驱动程序库使用的帮助文档,实际开发过程中需要经常参考。

StdPeriph_Driver目录下还有一个templates子目录,若要编写异常/中断处理程序,将用到其中的stm32f10x_it.h和stm32f10x_it.c。该文件定义了一些系统异常的接口,但外设的中断服务程序需要用户自己添加。其中stm32f10x_conf.h头文件的作用是用户可以修改外部晶振的参数,也可以设置该文件,来控制程序编译前是Debug还是Release模式。


猜你喜欢

转载自blog.csdn.net/chenguigan/article/details/80231803