1、我们需要加那些文件进来才能跑动一个程序:
首先我们要对库文件有一定的了解,其中STM32F10xR.LIB是封装好了的.C文件,它包括stm32f10x_conf.c stm32f10x_adc.c stm32f10x_gpio.c等等,要用这些C函数,直接包含头文件stm32f10x_conf.h stm32f10x_adc.h stm32f10x_gpio.h就行了,但是头文件也能用stm32f10x_lib.h直接包含就行了,所以我们看到的keil中只用添加GROUP中的SOURCE中的四个文件就行了
其中的stm32f10x_vector.s是启动文件,有的版本是startup_stm32f10x_hd.s,这个事根据版本和芯片的型号来定得名称,总之他的功能就是启动代码。其中stm32f10x_lib.h是在main.c中包含的,stm32f10x_it.c是中断的相关程序,暂时没用到。以上图片是没有编译的时候的,如果编译之后会见到.C文件下面会有很多的.H头文件
也可以在C文件上点击右键,隐藏这些.H头文件。
下面我们来看看,火牛开发板的程序都添加了那些东西进来用于跑通一个流水定的程序:
从这里看,有库文件LIB其中他只含有要用到的5个.C文件。在添加文件的过程中不用添加头文件,因为你添加了相应的C文件之后,头文件会在编译的之后自动包含进来,只要你将头文件放在正确的位置,现在说说如何添加正确的位置能让KEIL找到头文件,先看下图
在火牛的这个跑马灯的程序中要改变头文件的位置可以通过改变inc文件夹的位置,到时候找到这个位置就行了,按照上图的位置找到,并且重新编译一遍就能指向新的位置了。
如果想另外添加头文件新的位置时的话就用下图
归纳两点:a:首先就是添加启动文件,用户自己编写的.C文件,函数库中的C文件
b:然后就直接指定.h文件的位置,让编译器在编译的时候能找到他们就行了。
2、下面主要说说每个C文件的含义和每个头文件的含义:
a、首先是stm32f10x_map.h ,这个文件其实在新版本中改变了名字,现在的名字是stm32f10x.h,它stm32f10x.h则定义了启动设置,以及所有寄存器宏定义
b、core_cm3.h这个加进来可以先不管,初学者用不到他,他是内核的相关知识
c、stm32f10x_conf.h用于包含
#include "stm32f10x_adc.h"
#include "stm32f10x_bkp.h"
#include "stm32f10x_can.h"
#include "stm32f10x_crc.h"
#include "stm32f10x_dac.h"
#include "stm32f10x_dbgmcu.h"
#include "stm32f10x_dma.h"
#include "stm32f10x_exti.h"
#include "stm32f10x_flash.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_i2c.h"
#include "stm32f10x_iwdg.h"
#include "stm32f10x_pwr.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_rtc.h"
#include "stm32f10x_spi.h"
#include "stm32f10x_tim.h"
#include "stm32f10x_usart.h"
#include "stm32f10x_wwdg.h"
#include "misc.h"等等这些文件,以免在主函数中写太多包含的头文件不够简洁,然而在主函数main当中再用 stm32f10x.h来包含stm32f10x_conf.h,这样在主函数中直接include就相当于包含了以上的那么多的头文件,这个就相当于是传递的功能了。
d、stdint.h 定义了 int16_t 、 uint32_t 、 int64_t 等整型,在需要确定大小的整型时可以使用它们代替 short 、 unsigned long long 等
e、system_stm32f10x.h,微控制器专用系统文件
不得不承认火牛开发板配套的程序所加载的库文件确实是太乱了,很多库文件要自己去看其中的内容才能知道他的用法和意义
上一篇:stm32固件库文件描述
下一篇:STM32单片机按键消抖和FPGA按键消抖大全
推荐阅读
史海拾趣
Hoffman始终将技术创新视为企业发展的核心驱动力。公司不断投入研发资源,致力于开发更加高效、节能、环保的电气机柜和温控产品。其中,数据中心液体冷却技术的推出,更是引领了行业潮流。Hoffman还积极参与国际标准的制定工作,通过遵循和践行全球行业标准,确保产品的通用性和高质量。这些努力不仅提升了公司的技术实力,也进一步巩固了其在行业内的领先地位。
方舟公司不仅关注经济效益,还积极履行社会责任。公司积极参与环保事业,推动绿色生产,减少能源消耗和废弃物排放。同时,方舟公司还关注社会公益事业,捐资助学、扶贫济困,为社会和谐发展贡献了一份力量。
在电子行业的早期,Coleman Cable Inc以其创新性的电缆设计和技术突破,在市场中崭露头角。公司研发出一款具有高效传输和稳定性能的电缆产品,迅速赢得了消费者的青睐。随着技术的不断完善和市场需求的扩大,Coleman Cable逐渐扩大了生产规模,并开始向国际市场拓展,其产品在全球范围内得到了广泛应用。
EBG RESISTORS LLC公司始终将品质管理放在首位。他们建立了严格的质量控制体系,确保每一款产品的性能和质量都符合客户要求。同时,公司还鼓励员工提出改进意见,不断优化生产流程和产品性能。这种持续改进的精神使得EBG RESISTORS LLC公司的产品在市场上始终保持着领先地位。
为了适应全球市场的变化,ATP积极推进全球化战略。公司在美国硅谷设立总部,并在英国、台湾、中国大陆等地设立分公司,构建起了全球化的研发、生产和销售网络。这一战略布局不仅增强了ATP在全球市场的竞争力,也为公司带来了更多的合作机会和发展空间。
摘要: 对计算机无线网络通讯技术在港口野外工作环境的应用进行了详细的讨论 , 并给出具体的解决技术方案. 使得港口经营业务管理信息系统 (MIS) 在语音、视频和数据三合一的无线网络通讯平台上 , 将移动计算机终端拓展到港口码头前沿的作业现场. 本 ...… 查看全部问答∨ |
|
本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 一看到传感器字样,想是以后用的到,先收藏,呵呵 概述 ---PS压力传感器是一种利用半导体膜片结构制成的电子式压力传感器,它可将空气压力这一物理量变换成电信号, 并能够高精度、线性地检测 ...… 查看全部问答∨ |
在工业控制中,485是应用比较多的一种总线,但在实际施工中,有些环境对485总线的干扰比较大,用什么设备或如何检测485总线是否能满足应用呢? 能否制造出一种类似 fluke 的网络网线产品设备来检测呢? 原理是什么? 大家都帮着想想。 [ 本帖最 ...… 查看全部问答∨ |
我很努力的做毕设,倒了最后看见我的毕设题目却盲目了... 题目是《基于STR750的硬件设计》还有一个人是软件设计 题目要求是:要求学生学习嵌入式开发硬件平台知识、软件知识。对已有的技术资料进行消化整理,以STR750为核心硬件完成一款有创意的 ...… 查看全部问答∨ |
|
高分求解linux 输入法的问题 http://community.eeworld.net/Expert/TopicView3.asp?id=5341375… 查看全部问答∨ |
我的工程应用: (电脑)--(板-无线模块) (无线模块)---(板子1)--(板子2)..... 上位机接了一个232转485的板子,上面再插了个深圳买的无线模块。然后离电脑300米的仓库顶上也接了一 ...… 查看全部问答∨ |
这段程序,俺不知道为什么会有延时功能,按俺的想法,是没办法实现了。菜鸟一只,先谢谢各位了 程序如下://-------------------------------------------------- // Description : Hold program for 0 ~ 65535 ms // Input Value ...… 查看全部问答∨ |
设计资源 培训 开发板 精华推荐
- 力源&安森美有奖直播:RSL15 - 安森美更高效更智能更安全的 BLE 5.2 蓝牙芯片
- 下载应用文章有礼啦!新方案新标准:助你克服第四代I/O应用中的接收机测试挑战!
- 瑞萨电子RL78/G14评估板DIY精彩上演!
- ADI有奖下载活动之18 ADI双光束分光光度计演示系统和解决方案
- 全球首款Cortex-M23内核物联网芯片SAML10和SAM L11系列 闯关获取SAML10/SAML11法宝,拆除电子界安全危机,赢好礼!
- 下载有好礼!罗姆带您学习电源设计应用小技巧(功率器件篇)
- EEWorld下载中心大批技术资料等你来领,还有好礼相助
- 【EEWORLD第二十三届】2011年02月社区明星人物揭晓!