- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于库函数创建STM32工程.pdf
基于库 函数创建ST M32工程
开发平台 :安富莱STM32开发板 ,芯片型号STM32F103 ET6
开发环境 :KEIL4
实现功能 :基于库函数编写点亮led灯程序
一、 创建工程
1. 新建文件夹LED_BASEON_LIB作为工程文件夹
创建以下子文件夹 :
其中SYSTEM和Libraries文件夹是从已有的程序中复制过来的。Libraries文件夹是库函数。SYSTEM文件夹里面有配置系统时钟和延时
的函数。HARDWARE文件夹存放自己编写的头文件和源文件 ,在本程序中用于存放led.c和led.h。Proj ect文件夹用于存放工程编译链接
产生的临时文件 ,USER文件夹存放程序的启动代码和主函数源文件。
2. 创建工程LED。
选择芯片型号为STM32F103 E。
3. 管理工程目录。
在相应的分组中添加.c文件
此分组可以跟实际建立的文件夹不对应 ,在USER分组中添加文件main.c和stm32f10x_it.c ,主函数文件和芯片文件。在FWLIB分组中添
加misc.c、stm32f10x_gpio.c、stm32f10x_rcc.c三个文件 ,他们都LED_BASEON_LIB\Libraries\STM32F10x_StdPeriph_Driver\src目录
下 ,后两个文件分别用于配置IO管脚和时钟 ,如果程序中还用到其他模块可以添加相应的文件。CORE分组下添加启动文件
startup_stm32f10x_hd.s、core_cm3.c、system_stm32f10x.c ,其中内核文件在LED_BASEON_LIB\Libraries\CMSIS\Core\CM3目录
下 ,启动代码在LED_BASEON_LIB\Libraries\CMSIS\Core\CM3\startup\arm目录下。HARDWARE分组添加自己编写的led.c文件。
SYSTEM分组添加sys.c、delay.c、usart.c ,这三个文件在编写非依赖库函数编写时也会用到 ,和库函数有些重合。
4. 点击 配置工程。
选择晶振时钟频率 ,要和板子匹配 ,我的板子是8M晶振。
选择obj 文件为之前创建的proj ect文件夹 ,下面三个选项都勾选上 ,HEX文件可以离线下载 ,browse information可以在编译工程后
创建各个函数之间的依赖关系。但是编译起来时间比较慢。
选择链接文件夹 ,还是刚才的proj ect文件夹。
切换到 “C/C++”页签 ,增加2个预定义宏 :
STM32F10X_HD 用于ST固件库 ,表示CPU类型为HD高密度型。
USE_STDPERIPH_DRIVER 用于ST固件库 ,表示使能ST固件库。
两个宏之间用逗号分隔 ,设置后的结果如下 :
同时还需要配置include paths选项 ,保证刚才建立项目分组添加的.c文件匹配的.h文件都可以被引用。如下所示 :
连接仿真器JTAG ,按照如下进行配置 :
点击setting ,配置Debug选项。只要检测到仿真器正确连接 ,图中参数会自动生成。
配置Flash Download参数。如果下面选项框中没有和你板子匹配的芯片型号 ,需要重新添加。点击Add添加。
如下图所示 ,找到正确的型号添加进来。
5. 编译程序。
编译整个工程。 下载到单片机中 ,不进行调试。 进行在线调试。
二、编写流水灯程
1. 编写led.c文件。
#include stm32f10x.h
#include led.h
void LED_init(){
GPI _InitTypeDef GPI _Initstructure;
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPI F,ENABLE);
//初始化PF8和PF9两个io
GPI _
文档评论(0)