stm32的库文件的用法解释

发布者:不羁少年最新更新时间:2018-10-06 来源: eefocus关键字:stm32  库文件  用法解释 手机看文章 扫描二维码
随时随地手机看文章

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,微控制器专用系统文件

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


关键字:stm32  库文件  用法解释 引用地址:stm32的库文件的用法解释

上一篇:stm32固件库文件描述
下一篇:STM32单片机按键消抖和FPGA按键消抖大全

推荐阅读最新更新时间:2024-03-16 16:15

keil5开发案例分享 基于STM32设计遥控小车
一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 小车完整源码下载地址:https://download.csdn.net/download/xiaolong1126626497/195570
[单片机]
keil5开发案例分享 基于<font color='red'>STM32</font>设计遥控小车
STM32寄存器操作端口模式SDA_OUT()/SDA_IN()
#define SDA_IN() {GPIOB- CRL&=0X0FFFFFFF;GPIOB- CRL|=(u32)8 28;} #define SDA_OUT() {GPIOB- CRL&=0X0FFFFFFF;GPIOB- CRL|=(u32)3 28;} 是不是看到懵了,其实不难,相信用寄存器写过stm8s的就明白了,其实这是利用寄存器配置端口模式,只是32为的寄存器太多! 首先得明白CRL、CRH是2个控制端口模式的寄存器。他们的位数数据为: CRL(引脚的0-7脚) CRH(引脚的8-16脚) 然后一个端口分4位来控制模式,这4为的组合为: 我们来分析一下: GPIOB- CRL&=
[单片机]
stm32单片机gpio工作原理是怎样的呢?看完立马学会了
GPIO的八种工作模式详解 浮空输入_IN_FLOATING 带上拉输入_IPU 带下拉输入_IPD 模拟输入_AIN 开漏输出_OUT_OD 推挽输出_OUT_PP 开漏复用输出_AF_OD 推挽复用输出_AF_PP 4输入 + 2 输出 + 2 复用输出,一共是8种模式,以下是八种模式的工作原理: GPIO浮空输入_IN_FLOATING模式工作原: 以上截图就是浮空输入模式的原理图,图中阴影的部分在浮空输入模式下是处于不工作状态的,尤其是下半部分的输出电路,实际上这时的输出电路与输入的端口处于隔离状态。 黄色的高亮部分显示了数据传输通道,外部的电平信号通过左边编号1的I/O 端口进入STM32内部经过编号2的施密特
[单片机]
<font color='red'>stm32</font>单片机gpio工作原理是怎样的呢?看完立马学会了
单片机的四种烧写方式
单片机的四种烧写方式简介 单片机是一种可编程控制器,搭好硬件电路后,可以利用程序实现很多非常复杂的逻辑功能,与纯硬件电路相比,简化了硬件外围的设计、方便了逻辑的设计、丰富了逻辑的输出。不同厂家的单片机需要不同编程IDE来实现编程。在学习单片机之前,要先清楚单片机程序是如何烧写到单片机内部的,在烧写的过程中需要用到什么工具?因为不通用的烧写工具可能价格较贵,比如说Micorchip单片机使用的ICD系列编程器,单台价格在600-1000元人民币之间。今天和大学来认识一下单片机最常用的四种烧写方式和所使用到的工具。 1.使用JTAG接口实现 JTAG接口是一种标准的测试协议,可以实现编程时在线调试,利用单步追踪可以很方便的查找代码
[单片机]
单片机的四种烧写方式
再造STM32---第一部分:如何正规的安装KEIL5?
本章内容所涉及的软件只供未出社会的学生使用,不得用于商业用途。个人或公司因商业用途导致的法律责任,后果自负。 获取本文所有安装包和注册机方式: 1、CSDN下载: https://download.csdn.net/download/qq_38351824/10943718 2、可以关注点赞并在下方评论,我给你邮箱发过去。 3、关注微信公众号下载: ① 关注微信公众号:Tech云 一、温馨提示: 1、 安装路径不能带中文,必须是英文路径 2、 安装目录不能跟 51 的 KEIL 或者 KEIL4 冲突,三者目录必须分开 3、 KEIL5 的安装比起 KEIL4 多了一个步骤,必须添加 MCU 库,不然没
[单片机]
再造STM32---第一部分:如何正规的安装KEIL5?
STM32学习之路-不得不说的SysTick时钟
SysTick时钟,俗称“嘀嗒定时器”,这家伙能按固定的时间产生一次中断,通常是多长时间产生一次中断呢?官方给出的一个时间是1ms 那么,它是怎么准确的产生1ms的呢.. 先来看看这家伙在时钟树的哪里吧 是它,是它,就是它,红色框里的东东,可以看到,它是由HCLK/8得到的,也就是:72MHz/8=9MHz 我们还能在STM32手册上找到这么一句话:系统嘀嗒校准值固定位9000,当系统嘀嗒时钟设为9MHz,产生1ms时间基准. 让我们来看看9000是怎么来的,这里要看下SysTick寄存器的配置了 当然,这个图截得真他妈丑..不过来是可以看到SysTick共有4个寄存器.下面的图盗自别人的博客的, = = 但是
[单片机]
<font color='red'>STM32</font>学习之路-不得不说的SysTick时钟
STM32看门狗的使用
为什么使用看门狗 事情很简单先前做的一款采集数据的产品不知道为何异常,陷入死循环然后“死机”,分析了很多次,没发现原因,但是每次重新上点后就能正常采集到数据。后来找到了解决方法:看门狗!目的是当程序走入死循环或者硬件异常时,可以自动复位,这样就可以得到跟重新上电后差不多的效果了。 使用的平台:stm32f103系列单片机 使用的烧写调试模式:Jlink SWD 模式。 使用STM32官方模板库。 ST系列单片机看门狗分为两种: 1.独立看门狗,2.窗口看门狗。 独立看门狗: 可参看RM(reference Manual)的Independent watchdog (IWDG) 当然,只是简要查看
[单片机]
<font color='red'>STM32</font>看门狗的使用
STM32如何收发float类型数据?
在之前文章里提到了共用体用来传输浮点数的用法,但那篇笔记中没有详细介绍,这篇笔记我们一起来看一看具体实例。 实际应用中,我们可能需要两个设备通过串口传输浮点数据: 本篇笔记为了方便演示,使用串口助手模拟其中一个设备,本篇笔记内容如下: 我们创建一个用于管理float类型数据的共用体: unionfloat_data { floatf_data; uint8_tbyte ; }; 数据的流向如: 本次使用串口助手模拟发送设备,省略了第一步,主要看第②、③步。 创建两个共用体变量,用于发送与接收: unionfloat_datarx_float_data,tx_float_data; 收发相关代码: 左
[单片机]
<font color='red'>STM32</font>如何收发float类型数据?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved