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

发布者:trendsetter10最新更新时间:2019-07-30 来源: eefocus关键字:STM32  驱动程序库  STM32F1xx_DFP  文件含义 手机看文章 扫描二维码
随时随地手机看文章

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


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


(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全部的标准外设名称如下表所示。



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模式。


关键字:STM32  驱动程序库  STM32F1xx_DFP  文件含义 引用地址:详细介绍STM32驱动程序库STM32F1xx_DFP中的文件含义及其作用

上一篇:使用STM32实现PMSM电机的正弦驱动
下一篇:STM32 SPI配置

推荐阅读最新更新时间:2024-11-17 20:35

STM32的UART读写及printf打印
0.摘要 本文以STM32F1x系列单片机为例,主要介绍了串口的初始化、串口中断、接收/发送、串口调试等内容,也顺带讲到中断分组、半主机模式以及微库MicroLIB。 1.串口初始化 串口初始化主要包括对IO、USART和中断的初始化。根据STM32F1x手册RM0008的P166,USART在全双工模式下,发送口TX要配置成复用推挽输出,接收口RX要配置成浮空输入或上拉输入。此外,本文不使用USART的硬件流控制,所谓硬件流控制就是通过加入额外的引脚(RTS和CTS)来控制数据的收发过程,在数据传输之前确认收发双方均准备好才进行通信,用于防止接收缓冲区满而导致的数据丢失问题。 /********************
[单片机]
<font color='red'>STM32</font>的UART读写及printf打印
STM32笔记之十二:时钟不息工作不止,systic时钟应用
a) 目的:使用系统时钟来进行两项实验 周期执行代码与精确定时延迟。 b) 初始化函数定义: void SysTick_Configuration(void); c) 初始化函数调用: SysTick_Configuration(); d) 初始化函数: void SysTick_Configuration(void) { SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//时钟除8 SysTick_SetReload(250000); //计数
[单片机]
STM32的IIC应用详解2
IIC简单介绍 小编能力有限,写的不对处还望诸位大侠指正哈! 平时所说的IIC通信指的是用单片机的两个I/O端口模拟出来的IIC,正真的IIC实际上是一块硬件电路,那是飞利浦公司的专利,要想用那就拿钱来买。有大牛既想用又不想花钱,就用两个端口模拟出了IIC通信协议,因为方便(51上的IIC改一下端口配置就可以在STM32F103上使用)所以被广泛使用。啰嗦了这么多,下面进入正题,嘿嘿。 首先IIC通信由两根线组成: 时钟线SCL:在通信过程起到控制作用。 数据线SDA:用来一位一位的传送数据。 其次IIC通信过程由开始、结束、发送、接收四个函数构成,接下来小编通过介绍这四
[单片机]
STM32入门学习笔记之RTC实验(上)
12.1 概述 实时时钟Real TimeClock(简称RTC),实时时钟芯片是日常生活中应用最为广泛的消费类电子产品之一。它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。有些时钟芯片为了在主电源掉电时,还可以工作,需要外加电池供电。 现在的ARM体系处理器基本都会内置RTC模块,STM32也不例外。STM32内部RTC结构如下图所示。 RTC主要有两个部分组成,第一部分的APB1接口用来和APB1总线相连,此单元还包含一组16位寄存器,可通过APB1总线对其进行读写操作。另一部分由一组可编程计数器组成,分成两个主要模块。第一个模块是RTC的预分频模块
[单片机]
<font color='red'>STM32</font>入门学习笔记之RTC实验(上)
基于STM32单片机的车牌识别
系统介绍    使用STM32F103RCT6作为主控,摄像头使用OV7670(带FIFO)。STM32进行了16倍频。识别过程分别为:图像采集,二值化,识别车牌区域,字符分割,字符匹配。 识别过程分析 1.图像采集:    通过OV7670摄像头进行图像采集,采集的图像大小为320*240像素,像素格式为RGB565。每个像素由两字节组成,第一字节的高五位是Red,第一字节的低三位和第二字节的高三位组成Green,第二字节的低五位是Blue。 2.二值化:    二值化就是让图像的像素点矩阵中的每个像素点的灰度值为0(黑色)或者255(白色),让整个图片呈现出只有黑色和白色的效果。二值化后的图像中灰度值范围是0或者255。   
[单片机]
基于STM32从零写操作系统系列---基于寄存器写串口驱动
目的 尝试基于寄存器层面,编写串口的驱动。用这种方式编写串口驱动,有点类似于使用汇编语言。面向的是每一个单独的寄存器,通过读、改、写的手段,配置寄存器。但是这种方式能够更接近硬件,用硬件的思维编程。 相对于《基于STM32从零写操作系统系列---使用C语言》,这章重新调整了文件结构,让项目文件更好管理和维护。主要使用了makefile的嵌套编译方法来编译多目录下的代码文件。 分析 1.Makefile嵌套编译 首先简单来看一下文件结构: 再看一下顶层Makefile,主要差异如下: 各子目录下的Makefile比较简单 其中需要注意的是: 在windows的cmd命令行中for命令用于查找
[单片机]
基于<font color='red'>STM32</font>从零写操作系统系列---基于寄存器写串口<font color='red'>驱动</font>
意法半导体新演示板帮助先进工业和消费电子厂商加快双电机设计
高集成度电机控制器STSPIN32G4依托STM32生态系统加快产品开发周期 2024年5月31日,中国- 意法半导体的EVSPIN32G4-DUAL演示板只用一个高集成度电机驱动器STSPIN32G4就能控制两台电机运转,加快产品开发周期,简化PCB电路板设计,降低物料成本。 EVSPIN32G4-DUAL电路板可以缩短机器人、多轴工厂自动化系统、园林设备、电动工具等先进工业设备和消费产品的研发周期,缩短产品上市时间 。STSPIN32G4电机控制器内置的Arm®Cortex®-M4微控制器(MCU)能够同时控制两个电机,实时执行矢量控制(FOC)等复杂算法。此外,MCU外设还支持有传感器或无传感器的FOC算法,
[工业控制]
意法半导体新演示板帮助先进工业和消费电子厂商加快双电机设计
基于STM32 MCU的太阳能-LED街灯解决方案
随着化石类能源的日益减少,以及温室气体的过度排放导致全球变暖问题越来越受到重视,人们一方面在积极开发各类可再生新能源,另一方面也在倡导节能减排的绿色环保技术。太阳能作为取之不尽、用之不竭的清洁能源,成为众多可再生能源的重要代表;而在照明领域,寿命长、节能、安全、绿色环保、色彩丰富、微型化的LED固态照明也已被公认为世界一种节能环保的重要途径。太阳能-LED街灯同时整合了这两者的优势,利用清洁能源以及高效率的LED实现绿色照明。 本文介绍的太阳能-LED街灯方案,能自动检测环境光以控制路灯的工作状态,最大功率点追踪(MPPT)保证最大太阳能电板效率,恒电流控制LED,并带有蓄电池状态输出以及用户可设定LED工作时间等功能。
[单片机]
基于<font color='red'>STM32</font> MCU的太阳能-LED街灯解决方案
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved