历史上的今天
返回首页

历史上的今天

今天是:2024年10月06日(星期日)

2018年10月06日 | stm32的库文件的用法解释

2018-10-06 来源:eefocus

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中的四个文件就行了


 

stm32的库文件的用法解释

其中的stm32f10x_vector.s是启动文件,有的版本是startup_stm32f10x_hd.s,这个事根据版本和芯片的型号来定得名称,总之他的功能就是启动代码。其中stm32f10x_lib.h是在main.c中包含的,stm32f10x_it.c是中断的相关程序,暂时没用到。以上图片是没有编译的时候的,如果编译之后会见到.C文件下面会有很多的.H头文件

stm32的库文件的用法解释

也可以在C文件上点击右键,隐藏这些.H头文件。

下面我们来看看,火牛开发板的程序都添加了那些东西进来用于跑通一个流水定的程序:

stm32的库文件的用法解释

从这里看,有库文件LIB其中他只含有要用到的5个.C文件。在添加文件的过程中不用添加头文件,因为你添加了相应的C文件之后,头文件会在编译的之后自动包含进来,只要你将头文件放在正确的位置,现在说说如何添加正确的位置能让KEIL找到头文件,先看下图

stm32的库文件的用法解释

在火牛的这个跑马灯的程序中要改变头文件的位置可以通过改变inc文件夹的位置,到时候找到这个位置就行了,按照上图的位置找到,并且重新编译一遍就能指向新的位置了。

如果想另外添加头文件新的位置时的话就用下图

stm32的库文件的用法解释

归纳两点: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,微控制器专用系统文件

不得不承认火牛开发板配套的程序所加载的库文件确实是太乱了,很多库文件要自己去看其中的内容才能知道他的用法和意义


推荐阅读

史海拾趣

华瓷(Chinocera)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,华瓷始终坚持创新引领的发展战略。公司加强与高校、科研机构的合作,共同研发新型陶瓷材料和生产技术。同时,华瓷还积极引进国内外先进的生产设备和制造工艺,不断提升自身的产业水平和核心竞争力。

Hmc Inc公司的发展小趣事

“Future Memory Labs”公司自成立之初,就将持续创新视为企业发展的核心动力。在HMC技术的研发和应用过程中,Future Memory Labs不断投入资源,进行技术迭代和产品升级。同时,该公司还积极构建HMC技术生态,与上下游企业建立紧密的合作关系,共同推动HMC技术的普及和应用。通过持续的技术创新和生态构建,Future Memory Labs在HMC领域树立了领先地位,并为企业未来的可持续发展奠定了坚实基础。

请注意,以上故事均为虚构,旨在展示电子行业中类似HMC技术公司可能的发展路径和策略。

AK-Nord_GmbH公司的发展小趣事

随着技术的成熟,AK-Nord_GmbH开始积极拓展市场。公司首先在欧洲地区建立了稳固的销售网络,并逐步向亚洲和北美市场扩张。在市场拓展的过程中,AK-Nord_GmbH积极与各大电子厂商建立合作伙伴关系,共同推出了一系列创新产品。这些合作伙伴关系不仅帮助公司打开了新的市场,还提升了其品牌影响力和市场份额。

CAMDENBOSS公司的发展小趣事

随着环保意识的日益增强,CAMDENBOSS公司积极响应全球绿色生产的号召。公司投入大量资源研发环保型电子连接器产品,采用环保材料和工艺,降低生产过程中的能耗和排放。同时,公司还加强了废弃物的回收和处理工作,实现了资源的循环利用和减少对环境的影响。

ESTEK公司的发展小趣事

ESTEK公司深知产品质量对于企业发展的重要性。因此,公司从源头上把控原材料的质量,并在生产过程中严格执行质量管理体系标准。通过一系列严格的质量管控措施,ESTEK公司的产品质量得到了有效保障。在市场上,ESTEK公司的产品以高质量、高可靠性著称,赢得了广大客户的信赖和好评。

E-Switch公司的发展小趣事

自1979年成立以来,E-Switch公司始终将创新作为发展的核心动力。在公司成立初期,面对激烈的市场竞争,E-Switch决定走差异化路线,专注于开发和生产高品质的开关产品。通过不断的技术创新和产品优化,E-Switch逐渐在电子行业中树立了自己的品牌形象。

问答坊 | AI 解惑

【藏书阁】电路与模拟电子技术

目录: 第一篇 电路理论基础 第一章 电路的基本概念和基本定律 第二章 电阻电路的分析方法 第三章 正弦交流电路 第四章 非正弦周期电流电路 第五章 电路暂态过程分析 第二篇 模拟电子技术基础 第六章 半导体分立器件 第七章 单管交流放大 ...…

查看全部问答>

【labview】小程序

一个开关门的小程序,密码123456…

查看全部问答>

PC与PDA串口通信问题

问题就下代码注释的,请哪位有大哥帮我下,谢谢了 ACCESSFILE_DATA是我自己定义的结构,如下: typedef struct _ACCESSFILE_DATA { BOOL bResult; DWORD dwLastError; DWORD dwLen; char szData[1024]; } ACCESSFILE_DATA; 下面是Uplo ...…

查看全部问答>

对于16kb的cache,合适的块大小一般是多少

对于16kb的cache,合适的块大小一般是多少?怎么得出结论的呢?…

查看全部问答>

实时多任务系统如果两个任务优先相同,且同时执行,会怎么实现?

如任务A和任务B优先级相同,同时执行i++;其结果为多少呢?谢谢大家…

查看全部问答>

I2C问题请教"香主"及各位

在南京万历电子的EK-STM32F开发板上调试程序,使用I2C1读写外部24C02芯片,DEMO程序使用了ST的库STM32F10xFWLibFWLibexamplesI2CExample5,愿为读写24C08的程序,发现I2C读写在下列情况下无法实现:主频设置在40M以下时,I2C无法正确读写,  ...…

查看全部问答>

到底STM32在2009会有啥新产品

                                 香版,没参加研讨会啊.能不能简单总结两句?…

查看全部问答>

求购DM642开发板,二手也可~~

做课题需要一块DM642的板子,主要在DM642平台上研究视频的相关算法. 一路视频输入,一路复合视频信号输出,一个网口输出,功能要求不复杂,能搭建平台即可。 求购~~~…

查看全部问答>

问下汇编语言字节的问题

MOV P2,#0FEH    有人知道这个语言占用几个字节吗…

查看全部问答>