如何使用STM32-V35版本固件库在Keil4下建立工程模板(常用版).doc
上传人:天马****23 上传时间:2024-09-10 格式:DOC 页数:35 大小:3.8MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

如何使用STM32-V35版本固件库在Keil4下建立工程模板(常用版).doc

如何使用STM32-V35版本固件库在Keil4下建立工程模板(常用版).doc

预览

免费试读已结束,剩余 25 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

如何使用STM32_V35版本固件库在Keil4下建立工程模板(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)如何使用STM32_V3.5版本固件库在Keil4下建立工程模板准备工作如下:下载固件库。下载并安装好KeiluVisionV4.10(MDK4)开始:首先解压固件库。PS:保留一个备份,你懂的。解压得到如图1所示的几个文件夹。其中_htmresc文件夹:里面是ST的Logo图片,没有多大用,可以删除。Libraries文件夹:是比较重要的文件包含STM32的系统文件和大量头文件,即库文件。Project文件夹:里面为STM32F10x的例程和工程模板。Keil对应的就是MDK-ARM文件下的工程模板。也可以利用这个工程模板为原型建立自己的工程模板本文不用此法。Utilities文件夹:里面有一些实用程序,也没多大用,可删除。Release_Notes.html:版本注视,可删除。stm32f10x_stdperiph_lib_um.chm:帮助文件,你懂的。为了项目程序中的各部分条理清晰,我们建议工程文件夹时对其子目录子下归类建立子文件夹,例建立一个工程文件夹MyProject,在其下在创建五个子文件夹如图2所示:其中:CMSIS文件夹:此文件夹从固件库中的CMSIS文件夹直接复制过来。Libraries文件夹:此文件夹从固件库中的Libraries文件夹复制过来。只保留当中的inc和src文件夹。即只包含头文件。Startup文件夹:此文件夹从CMSIS\CM3\DeviceSupport\ST\STM32F10x\Startup目录下直接将Startup文件剪切出来。其中放置的是启动代码,具体的代码根据所用芯片的容量选择,我们用的STM32F103C8为中等容量芯片,故选择其中的startup_stm32f10x_md.s启动代码,其他不用的可以删除User文件夹:User文件夹为用户的应用程序,其中包括main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h四个文件,这四个文件可从V3.5.0固件库Project\STM32F10x_StdPeriph_Template目录下复制过来,当然main.c文件中的内容可删除。Project文件夹:此文件夹用来存放项目文件。比如你等下要建立的工程名字MyProgram.uvproj,就放在这里。在该文件下存放一些项目的输出信息,OUTPUT,和LISTING信息,可以建立这两个文件夹,之后就可以在OPTIONSFORTARGET'PROJECT'里面进行路径设置。打开Keil4软件,在Project菜单下选择NewuVisionProject新建新的项目,键入新的项目名称如MyProgram,保存到刚才的Project文件夹下面。选择芯片类型,根据实际情况选择芯片类型,我们在这里选择STM32F103c8,确定后弹出一个窗口询问是否复制启动代码,选择“否”,如图所示。这时新的项目工程就建立了。这时点击如图所示的图标。弹出如下窗口:可根据实际需要添加相应的文件,如图所示:添加完后Project区域的树形结构如图所示:接下来要设置设置目标选项,点图标进入TargetOption界面如图所示,在上面设置晶振的实际时钟频率,我们所用的时钟为8.00MHz。选择Output项进行如图所示设置。点击Listing选项,并配置Listing文件的所在路径为Projet下的Listing文件夹。接下来配置编译器的路径,设置如图所示:在“C/C++”选项中我们可以加入预定义的宏,这里请一定加入USE_STDPERIPH_DRIVER,STM32F10X_MD这两个宏。另外,我们在下面的“IncludePaths”框中可以填入我们.h文件所在的目录,如“.\Lib;.\Lib\inc;.\User”,方便编译器搜索头文件定义。如果现在编译,还是有错误的。可以先编译下,因为main.c中有头文件#include"stm32f10x.h"这句,在这个重要的头文件里,并没有定义好一些东西,分别在stm32f10x.h文件中取消对#defineSTM32F10X_MD和#defineUSE_STDPERIPH_DRIVER的屏蔽,这两个定义好,才能正常工作,第一个是选择存储容量的型号,每种芯片都不太一样,所以让你选择,第二个是使用标准库文件,因为我们是要用库的,所以必须选择,默认是不用库的,直接进行寄存器的操作。也可以直接如下图操作。在Define中添加USE_STDPERIPH_DRIVER,STM32F10X_MD作用是一样的