- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用STM32库建立keil_4工程详细步骤
STM32 使用外设库建立keil工程
新建文件夹取名为自己想要的名称(如GPIO)
打开文件,建立如下的文件结构:
打开Project,建立如下文件:
打开下载来的外设驱动库如下:
把Libraries的下的两个文件(CMSIS和STM32F10x_StdPeriph_Driver)拷贝到GPIO文件下:
打开下载的驱动库下的Project文件,打开STM32F10x_StdPeriph_Examples,找到我们需要的例程,如GPIO
打开GPIO文件夹
打开IOToggle,复制除了readerme.txt之外的文件到工程下的User文件。
复制好之后:
到此,准备工作完毕。
打开KEIL,新建工程
保存在Project文件夹下面,取名为自己的名字,我取名为GPIO。
选定自己使用的芯片,点击ok。
此时会跳出这个对框框,选择否:
工程建好后是这样的。
在工程上右键选择Mange Componts 如下:
建立如下组
在User下面添加刚才方法哦User下的C文件:
点击Add
增加StdPeriph_Driver的文件,在自己工程StdPeriph_Driver下面的下面的src文件如下:(说明:只需要增加自己需要的,我这里全部添加了)
在CMSIS下增加文件:
CMSIS文件下的CM3的CoreSupport的文件
在StartUp下面增加位于下的文件
选择自己芯片对应的文件。我用的是第二种startup_stm32f10x_hd.s
增加完文件后工程如下
现在左键点击选中GPIO工程名,在点击右键选择Options for Target ‘GPIO’来配置工程
在output页面下点击
Select Folder Objects…,选择我们在Project目录下的Obj文件
勾选长生hex文件。
在Listing页面下点击
Select Folder Objects for listings…,选择我们在project目录下的List文件
在C/C++页面下配置,这是预编译的定义;
Define 中写入 USE_STDPERIPH_DRIVER, STM32F10X_HD
其中第一个 “USE_STDPERIPH_DRIVER”定义了使用外设库,定义此项会包含*_conf.h文件,从而使 用外设库;而第二个“STM32F10X_HD”从字面理解应该是定义了大等容量的STM32MCU, STM32F10X_MD则为中等容量等。
现在设置Include paths:
设置如下的头文件路径:
点击ok
.分别为:
.\User
..\CMSIS\CM3\CoreSupport
..\CMSIS\CM3\DeviceSupport\ST\STM32F10x
..\STM32F10x_StdPeriph_Driver\inc
设置完毕,确定ok,ok,结束。
由于使用的是都是拷贝的东西,在main.c下面我们有些东西没有用到。需要做一定的修该,改成你自己需要的例程就可以了。
我的文件修改如下
/**
******************************************************************************
* @file GPIO/IOToggle/main.c
* @author MCD Application Team
* @version V3.4.0
* @date 10/15/2010
* @brief Main program body.
******************************************************************************
* @copy
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CO
文档评论(0)