ImageVerifierCode 换一换
格式:PDF , 页数:48 ,大小:4.22MB ,
资源ID:3212780      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3212780.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MDK环境下利用STM32库V3.5创建工程并调试的方法.pdf)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MDK环境下利用STM32库V3.5创建工程并调试的方法.pdf

1、机电工程学院 STM32 实践 张华林 MDK环境下利用环境下利用STM32库库 V3.5创建工程创建工程并调试并调试的方法的方法 STM32 标准外设库标准外设库及说明及说明 1.解压解压 STM32F10 x_StdPeriph_Lib_V3.5.0 库到硬盘(如库到硬盘(如 F 盘盘)2.库中自带的库中自带的 MDK 模板示例模板示例 1)位置)位置 机电工程学院 STM32 实践 张华林 2)工程工程组织结构组织结构 3)详细结构)详细结构 机电工程学院 STM32 实践 张华林 机电工程学院 STM32 实践 张华林 3.库文件结构库文件结构 1)Chm 中的目录树中的目录树 2)W

2、indows 资源管理器中的结构资源管理器中的结构 机电工程学院 STM32 实践 张华林 机电工程学院 STM32 实践 张华林 表:表:STM32F10 x_StdPeriph_Lib_V3.5.0文件夹描述文件夹描述 _htmresc 本文件夹包含了所有的 html 页面资源 Libraries CMSIS 文件路径较深 STM32F10 x_StdPeriph_Driver inc 标准外设库驱动头文件 src 标准外设库驱动源文件 Project Examples 标准外设库驱动的完整例程 Template MDK-ARM KEIL RVMDK 的项目模板示例 Utilities S

3、TM32-EVAL 本文件夹包含了用于STM32100B-EVAL 等评估板的专用驱动 标准外设库的第一部分是 CMSIS 和 STM32F10 x_StdPeriph_Driver,是 STM32F10 x CPU 资源的总括:CMSIS 是独立于供应商的 Cortex-M 处理器系列硬件抽象层,为芯片厂商和中间件供应商提供了简单的处理器软件接口,简化了软件复用工作,降低了Cortex-M 上操作系统的移植难度,并减少了新入门的微控制器开发者的学习曲线和新产品的上市时间;STM32F10 x_StdPeriph_Driver 则包括了分别对应包括了所有外设对应驱动函数,这些驱动函数均使用 C

4、 语言编写,并提供了统一的易于调用的函数接口,供开发者使用。Project 文件夹中则包括了 ST 官方的所有例程和基于不同编译器的项目模板,这些例程是学习和使用 STM32 的重要参考。Utilities 包含了相关评估板的示例程序和驱动函数,供使用官方评估板的开发者使用,很多驱动函数同样可以作为学习的重要参考。机电工程学院 STM32 实践 张华林 CMSIS 中中 内核设备访问层:内核设备访问层:(CM3/CoreSupport)core_cm3.h:CMSIS 的 Cortex-M3 内核设备访问层头文件 core_cm3.c:CMSIS 的 Cortex-M3 内核设备访问层源文件

5、微控制器外设访问层:(CM3/DeviceSupport/ST/STM32F10X)stm32f10 x.h:CMSIS 的 Cortex-M3 STM32f10 xxx 微控制器外设访问层头文件 system_stm32f10 x.h:CMSIS 的 Cortex-M3 STM32f10 xxx 微控制器外设访问层头文件 system_stm32f10 x.c:CMSIS 的 Cortex-M3 STM32f10 xxx 微控制器外设访问层源文件 机电工程学院 STM32 实践 张华林 STM32F10 xxx 标准外设库体系结构标准外设库体系结构 文件功能说明文件功能说明 文件名 功能描述

6、 具体功能说明 core_cm3.h core_cm3.c Cortex-M3内核及其设备文件 访问 Cortex-M3内核及其设备:NVIC,SysTick 等 访问 Cortex-M3的 CPU 寄存器和内核外设的函数 stm32f10 x.h 微控制器专用头文件 这个文件包含了 STM32F10 x 全系列所有外设寄存器的定义(寄存器的基地址和布局)、位定义、中断向量表、存储空间的地址映射等 system_stm32f10 x.h system_stm32f10 x.c 微控制器专用系统文件 函数 SystemInit,用来初始化微控制器 函数 Sysem_ExtMemCtl,用来配置外

7、部存储器控制器。它位于文件startup_stm32f10 x_xx.s/.c,在跳转到main 前调用 SystemFrequncy,该值代表系统时钟频率 startup_stm32f10 x_Xd.s 编译器启动代码 微控制器专用的中断处理程序列表(与头文件一致)弱定义(Weak)的中断处理程序默认函数(可以被用户代码覆盖)该文件是与编译器相关的 stm32f10 x_conf.h 固件库配置文件 通过更改包含的外设头文件来选择固件库所使用的外设,在新建程序和进行功能变更之前应当首先修改对应的配置。stm32f10 x_it.h stm32f10 x_it.c 外设中断函数文件 用户可以相

8、应的加入自己的中断程序的代码,对于指向同一个中断向量的多个不同中断请求,用户可以通过判断外设的中断标志位来确定准确的中断源,执行相应的中断服务函数。stm32f10 x_ppp.h stm32f10 x_ppp.c 外设驱动函数文件 包括了相关外设的初始化配置和部分功能应用函数,这部分是进行编程功能实现的重要组成部分。Application.c 用户文件 用户程序文件,通过标准外设库提供的接口进行相应的外设配置和功能设计。机电工程学院 STM32 实践 张华林 在实际开发过程中,根据应用程序的需要,可以采取 2 2 种方法使用标准外设库种方法使用标准外设库(StdPeriph_Lib):(1)

9、使用外设驱动:这时应用程序开发基于外设驱动的 API(应用编程接口)。用户只需要配置文件”stm32f10 x_conf.h”,并使用相应的文件”stm32f10 x_ppp.h/.c”即可。(2)不使用外设驱动:这时应用程序开发基于外设的寄存器结构和位定义文件。标准外设库(StdPeriph_Lib)支持 STM32F10 xxx 系列全部成员:大容量,中容量和小容量产品。实际开发中根据使用的 STM32 产品具体型号,用户可以通过文件”stm32f10 x.h”中的预处理 define 或者通过开发环境中的全局设置来配置标准外设库(StdPeriph_Lib),一个 define 对应一个

10、产品系列。STM32F10 x_LD:STM32 小容量产品 STM32F10 x_MD:STM32 中容量产品 STM32F10 x_HD:STM32 大容量产品 在库文件中这些 define 的具体作用是:l 文件“stm3210f.h”中的中断 IRQ 定义 l 启动文件中的向量表,小容量,中容量,大容量产品各有一个启动文件 l 外设存储器映像和寄存器物理地址 l 产品设置:外部晶振(HSE)的值等 l 系统配置函数 通过宏定义这种方式,可以使标准外设库适用于不同系列的产品,同时也方便与不同产品之间的软件移植,极大的方便了软件的开发。STM32F10XXXSTM32F10XXX 标准外设

11、库的使用标准外设库的使用 标准外设库中包含了众多的变量定义和功能函数,如果不能了解他们的命名规范和使用规律将会给编程带来很大的麻烦,本节将主要叙述标准外设库中的相关规范,通过这些规范的学习可以更加灵活的使用固件库,同时也将极大增强程序的规范性和易读性,同时标准外设库中的这种规范也值得我们在进行其他相关的开发时使用和借鉴。1.缩写定义缩写定义 标准外设库中的主要外设均采用了缩写的形式,通过这些缩写可以很容易的辨认对应的外设。缩写 外设/单元 ADC 模数转换器 BKP 备份寄存器 CAN 控制器局域网模块 CEC CRC CRC 计算单元 DAC 数模转换器 机电工程学院 STM32 实践 张华

12、林 DBGMCU 调试支持 DMA 直接内存存取控制器 EXTI 外部中断事件控制器 FLASH 闪存存储器 FSMC 灵活的静态存储器控制器 GPIO 通用输入输出 I2C I2C 接口 IWDG 独立看门狗 PWR 电源/功耗控制 RCC 复位与时钟控制器 RTC 实时时钟 SDIO SDIO 接口 SPI 串行外设接口 TIM 定时器 USART 通用同步/异步收发器 WWDG 窗口看门狗 2.命名规则命名规则 标准外设库遵从以下命名规则 PPP表示任一外设缩写,例如:ADC。源程序文件和头文件命名都以“stm32f10 x_”作为开头,例如:stm32f10 x_conf.h。常量仅被

13、应用于一个文件的,定义于该文件中;被应用于多个文件的,在对应头文件中定义。所有常量都由英文字母大写书写。寄存器作为常量处理。他们的命名都由英文字母大写书写。在大多数情况下,他们采用与缩写规范一致。外设函数的命名以该外设的缩写加下划线为开头。每个单词的第一个字母都由英文字母大写书写,例如:SPI_SendData。在函数名中,只允许存在一个下划线,用以分隔外设缩写和函数名的其它部分。对于函数命名,总的来说有以下规则:l 名为 PPP_Init 的函数,其功能是根据 PPP_InitTypeDef 中指定的参数,初始化外设 PPP,例如TIM_Init.l 名为 PPP_DeInit 的函数,其功

14、能为复位外设 PPP 的所有寄存器至缺省值,例如 TIM_DeInit.l 名为 PPP_Init 的函数,其功能为通过设置 PPP_InitTypeDef 结构中的各种参数来定义外设的功能,例如:USART_Init.l 名为 PPP_Cmd 的函数,其功能为使能或者失能外设 PPP,例如:SPI_Cmd.机电工程学院 STM32 实践 张华林 l 名为 PPP_ITConfig 的函数,其功能为使能或者失能来自外设 PPP 某中断源,例如:RCC_ITConfig.l 名为 PPP_DMAConfig 的函数,其功能为使能或者失能外设 PPP 的 DMA 接口,例如:TIM1_DMACon

15、fig.l 用以配置外设功能的函数,总是以字符串“Config”结尾,例如 GPIO_PinRemapConfig.l 名为 PPP_GetFlagStatus 的函数,其功能为检查外设 PPP 某标志位被设置与否,例如:I2C_GetFlagStatus.l 名为 PPP_ClearFlag 的函数,其功能为清除外设 PPP 标志位,例如:I2C_ClearFlag.l 名为 PPP_GetITStatus 的函数,其功能为判断来自外设 PPP 的中断发生与否,例如:I2C_GetITStatus.l 名为 PPP_ClearITPendingBit 的函数,其功能为清除外设 PPP 中断待

16、处理标志位,例如:I2C_ClearITPendingBit.3.3.变量变量类型类型定义定义 在早期的版本中有 24 个变量类型定义,在 Keil 的安装根目录下,可以找到对应的定义,路径为:KeilARMINCSTSTM32F10 xstm32f10 x_type.h/*Includes-*/*Exported types-*/typedef signed long s32;typedef signed short s16;typedef signed char s8;typedef signed long const sc32;/*Read Only*/typedef signed short const sc16;/*Read Only*/typedef signed char const sc8;/*Read Only*/typedef volatile signed long vs32;typedef volatile signed short vs16;typedef volatile signed char vs8;typedef volatile signed lon

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1