




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何使用STM32_V3.5版本固件库在Keil4下建立工程模板准备工作如下:1. 下载STM32F10x_StdPeriph_Lib_V3.5.0固件库。2. 下载并安装好Keil uVision V4.10(MDK4)开始:1. 首先解压STM32F10x_StdPeriph_Lib_V3.5.0固件库。PS:保留一个备份,你懂的。解压得到如图1所示的几个文件夹。其中_htmresc文件夹:里面是ST的Logo图片,没有多大用,可以删除。Libraries文件夹:是比较重要的文件 包含STM32的系统文件和大量头文件,即库文件。Project文件夹:里面为STM32F10x的例程和工程模板。Keil对应的就是 MDK-ARM 文件下的工程模板。也可以利用这个工程模板为原型建立自己的工程模板本文不用此法。Utilities文件夹:里面有一些实用程序,也没多大用,可删除。Release_Notes.html:版本注视,可删除。stm32f10x_stdperiph_lib_um.chm:帮助文件,你懂的。2. 为了项目程序中的各部分条理清晰,我们建议工程文件夹时对其子目录子下归类建立子文件夹,例建立一个工程文件夹My Project,在其下在创建五个子文件夹如图2所示:其中:CMSIS文件夹:此文件夹从STM32F10x_StdPeriph_Lib_V3.5.0固件库中的CMSIS文件夹直接复制过来。Libraries文件夹:此文件夹从STM32F10x_StdPeriph_Lib_V3.5.0固件库中的Libraries文件夹复制过来。只保留当中的inc和src文件夹。即只包含头文件。Startup文件夹:此文件夹从CMSISCM3DeviceSupportSTSTM32F10xStartup目录下直接将Startup文件剪切出来。其中放置的是启动代码,具体的代码根据所用芯片的容量选择,我们用的STM32F103C8为中等容量芯片,故选择其中的startup_stm32f10x_md.s启动代码,其他不用的可以删除User文件夹:User文件夹为用户的应用程序,其中包括main.c ,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h四个文件,这四个文件可从V3.5.0固件库ProjectSTM32F10x_StdPeriph_Template目录下复制过来,当然main.c文件中的内容可删除。Project文件夹 :此文件夹用来存放项目文件。比如你等下要建立的工程名字My Program.uvproj,就放在这里。 在该文件下存放一些项目的输出信息,OUTPUT,和LISTING信息,可以建立这两个文件夹,之后就可以在OPTIONS FOR TARGET PROJECT 里面进行路径设置。3. 打开Keil4软件,在Project菜单下选择New uVision Project新建新的项目,键入新的项目名称如My Program,保存到刚才的Project文件夹下面。4. 选择芯片类型,根据实际情况选择芯片类型,我们在这里选择STM32F103c8,确定后弹出一个窗口询问是否复制启动代码,选择“否”,如图所示。这时新的项目工程就建立了。5. 这时点击如图所示的图标。弹出如下窗口:可根据实际需要添加相应的文件,如图所示:添加完后Project区域的树形结构如图所示:6. 接下来要设置设置目标选项,点图标进入Target Option界面如图所示,在上面设置晶振的实际时钟频率,我们所用的时钟为8.00MHz。选择Output项进行如图所示设置。点击Listing选项,并配置Listing文件的所在路径为Projet下的Listing文件夹。接下来配置编译器的路径,设置如图所示:在“ C/C+ ” 选项中我们可以加入预定义的宏, 这里请一定加入USE_STDPERIPH_DRIVER,STM32F10X_MD 这两个宏。另外,我们在下面的“Include Paths”框中可以填入我们.h 文件所在的目录,如“.Lib;.Libinc;.User”,方便编译器搜索头文件定义。如果现在编译,还是有错误的。可以先编译下,因为main.c中有头文件#include stm32f10x.h这句,在这个重要的头文件里,并没有定义好一些东西,分别在stm32f10x.h文件中取消对 #define STM32F10X_MD和#define USE_STDPERIPH_DRIVER的屏蔽,这两个定义好,才能正常工作,第一个是选择存储容量的型号,每种芯片都不太一样,所以让你选择,第二个是使用标准库文件,因为我们是要用库的,所以必须选择,默认是不用库的,直接进行寄存器的操作。也可以直接如下图操作。在Define中添加USE_STDPERIPH_DRIVER,STM32F10X_MD作用是一样的。选择好后,直接编译,恭喜你,成功了。最后要说明的就是:图4这个库文件,是必须选择misc.c 和stm32f10x_rcc.c的。另外就是你选择用什么功能,就把什么功能的c文件加进去,我这里已经加了一个对IO口的应用的一个c文件。5:一些重要文件的说明吧core_cm3.c/core_cm3.h 该文件是内核访问层的源文件和头文件,查看其中的代码多半是使用汇编语言编写的。stm32f10x.h 该文件是外设访问层的头文件,该文件是最重要的头文件之一。例如向量等等。除了这些该头文件还定义了和外设寄存器相关的结构体,如:typedef struct _IO uint32_t CRL; _IO uint32_t CRH; _IO uint32_t IDR; _IO uint32_t ODR; _IO uint32_t BSRR; _IO uint32_t BRR; _IO uint32_t LCKR; GPIO_TypeDef; 包含了那么多寄存器的定义,那么在应用文件中(例如自己编写的 main 源文件)只需要包含stm32f10x.h即可。在stm32f10x.h 8296行#ifdef USE_STDPERIPH_DRIVERi nclude stm32f10x_conf.h#endif这里定义了 i nclude stm32f10x_conf.hsystem_stm32f10x.c/h 该头文件也可以称为外设访问层的头文件和源文件。在该文件中可以定义系统的时钟频率,定义低速时钟总线和高速时钟总线的频率,其中最关键的函数就是 SystemInit()了,这个后面会详细介绍。总之这两个文件是新固件库V3.5的重点,有了它粮也大大简化了使用 stm32的初始化工作。 stm32f10x_conf.h 这个文件和 V2 版本的库的内容是一样的,需要使用哪些外设就取消哪些外设的注释。stm32f10x_it.c/h 这两个文件包含了 stm32中断函数,在源文件和头文件中并没有把所有的中断入口函数都写出来,而只写了 ARM内核的几个异常中断,其他的中断函数需要用户自己编写。stm32f10x_it.c的最后给了这样一个模板。/*/ /* STM32F10x Peripherals Interrupt Handlers */ /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ /* available peripheral interrupt handlers name please refer to the startup */ /* file (startup_stm32f10x_xx.s). */ /* * brief This handles PPP interrupt request. * param None * retval None */ /*void PPP_IRQHandler(void) */ 从注释中的英文提示可以看出,中断向量的名称可以从相应的启动代码中找出,例如可以startup_stm32f10x_md.s 中找到 USART1 中断函数的名称USART1_IRQHandler。其他的中断函名可以以此类推,一一获得,在这里我就不一一复述了。 Libraries文件夹 该文件夹有包含两个文件夹,一个是 src文件夹,另一个是 inc文件夹,顾名思义,一个里面放的是元件一个里面放的是头文件。这两个文件夹包含了所有的 STM32 的外设驱动函数,其实和 V2 版本也没有太
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智慧树知道网课《恰同学少年(湘潭大学)》课后章节测试答案
- 2025年全国成人高等学校招生考试(历史地理)(高起本)经典试题及答案五
- 2025年中国可堆肥塑料袋行业市场全景分析及前景机遇研判报告
- 2025年安徽村官考试试题及答案
- 谷子高粱产业科技创新与应用发展
- 传统乡土材料在景观设计中的复兴与发展趋势
- 2025年营口市事业单位考试真题
- 2024年江苏省审计厅下属事业单位考试真题
- 投资者对ESG表现的关注与企业市值波动的关联
- 2025年两会知识竞赛题及答案
- 物质与意识的辩证关系
- 网络热梗是否融入现实生活
- IEP个别化教育计划-课件
- 128个自然拼读口诀表打印
- 汽车机械基础 课件 绪论
- 浙江博瑞电子科技有限公司新建年产175吨高纯六氟丁二烯项目环境影响报告书
- 客车检车员-中国铁路兰州局集团有限公司编
- 胖东来收银管理制度
- 日本商务礼仪课件
- 新产品可行性评估表
- 小学综合实践活动成长手册三年级上册第2课《传统游戏》教案
评论
0/150
提交评论