嵌入式-stm32固件库课件_第1页
嵌入式-stm32固件库课件_第2页
嵌入式-stm32固件库课件_第3页
嵌入式-stm32固件库课件_第4页
嵌入式-stm32固件库课件_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、STM32固件库简介报告人:徐倩 康利利学号:201455200720145520121. STM32标准外设库概述2. STM32 固件库与 CMSIS 标准3.STM32固件库包结构4.STM32使用步骤简介目录本质:一个固件函数包组成:程序、数据结构和宏,包括了微控制器所有外设的性能特征。还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。每个器件的开发都由一个通用API (application programming interface 应用编程界面)驱动,API对该驱动程序的结构,函数和参数名称

2、都进行了标准化。优点:a、通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设; b、使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。ST公司2007年10月发布了V1.0版本的固件库,MDK ARM3.22之前的版本均支持该库。2008年6月发布了V2.0版的固件库,从2008年9月推出的MDK ARM3.23版本至今均使用V2.0版本的固件库。V3.0以后的版本相对之前的版本改动较大,本书使用目前较新的V3.4版本。1. STM32标准外设库概述其实一句话就可以概括: 固件库就是函数的集合;固件库函数的作用是:向下负责与寄存器直接打交道,向上提供用户

3、函数调用的接口( API)。STM32 固件库到底是什么,和寄存器开发有什么关系?但是固件库不是万能的,您如果想要把 STM32 学透,光读 STM32 固件库是远远不够的。你还是要了解一下 STM32 的原理,而这些原理了解了,你在进行固件库开发过程中才可能得心应手游刃有余。E.g操作名称操作语句51开发操作寄存器P0=0 x11;Stm32开发操作寄存器GPIOx-BRR = 0 x0011;Stm32库函数void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)GPIOx-BRR = GPIO_Pin;CMSIS 通过以上三个

4、部分实现了:定义访问外设寄存器和异常向量的通用方法;定义核内外设的寄存器名称和核异常向量的名称;为RTOS 核定义与设备独立的接口,包括Debug 通道。我们在使用 STM32 芯片的时候首先要进行系统初始化, CMSIS 规范就规定,系统初始化函数名字必须为SystemInit,所以各个芯片公司写自己的库函数的时候就必须用SystemInit 对系统进行初始化。 CMSIS 还对各个外设驱动文件的文件名字规范化,以及函数名字规范化等等一系列规定。3.STM32固件库包结构_htmresc本文件夹包含了所有的html页面资源LibrariesCMSIS见表STM32F10 x_StdPerip

5、h_Driverinc标准外设库驱动头文件src标准外设库驱动源文件ProjectExamples标准外设库驱动的完整例程TemplateMDK-ARMKEIL RVMDK的项目模板示例RIDERaisonance RIDE的项目模板示例EWARMIAR EWARM的项目模板示例UtilitiesSTM3210-EVAL本文件夹包含了用于STM3210B-EVAL和STM3210E-EVAL评估板的专用驱动缩写外设/单元ADC模数转换器BKP备份寄存器CAN控制器局域网模块CRCCRC计算单元DAC数模转换器DBGMCU调试支持DMA直接内存存取控制器EXTI外部中断事件控制器FLASH闪存存

6、储器FSMC灵活的静态存储器控制器GPIO通用输入输出I2CI2C接口IWDG独立看门狗PWR电源/功耗控制RCC复位与时钟控制器RTC实时时钟SDIOSDIO接口SPI串行外设接口TIM定时器USART通用同步/异步收发器WWDG窗口看门狗4.STM32使用步骤简介首先新建一个项目并设置工具链对应的启动文件,可以使用标准外设库中提供的模板,也可以自己根据自己的需求新建。标准外设库中已经提供了不同工具链对应的文件,位于STM32F10 x_StdPeriph_Lib_V3.4.0LibrariesCMSISCM3DeviceSupportSTSTM32F10 xstartup目录下。其次按照使

7、用产品的具体型号选择具体的启动文件,加入工程。文件主要按照使用产品的容量进行区分,根据产品容量进行选择即可。每个文件的具体含义可以在“stm32f10 x.h”文件中找到对应的说明“stm32f10 x.h”是整个标准外设库的入口文件,这个文件包含了STM32F10 x全系列所有外设寄存器的定义(寄存器的基地址和布局)、位定义、中断向量表、存储空间的地址映射等。为了是这个文件适用于不同系列的产品,程序中是通过宏定义来实现不同产品的匹配的#if !defined (STM32F10X_LD) & !defined (STM32F10X_LD_VL) & !defined (STM32F10X_M

8、D) & !defined (STM32F10X_MD_VL) & !defined (STM32F10X_HD) & !defined (STM32F10X_HD_VL) & !defined (STM32F10X_XL) & !defined (STM32F10X_CL)/* #define STM32F10X_LD */ /*! STM32F10X_LD: STM32 Low density devices */如果去掉/*#define USE_STDPERIPH_DRIVER*/的注释,则是使用标准外设库进行开发,用户需要使用在文件“stm32f10 x_conf.h”中,选择要用的外设,外设同样是通过注释/去掉注释的方式来选择。/* Uncomment the line below to enable peripheral header file inclusion

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论