OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4651|回复: 1

这些东西是怎么编译的,求指导

[复制链接]

7

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2013-5-20
在线时间
0 小时
发表于 2013-5-27 13:30:08 | 显示全部楼层 |阅读模式
我用的mini板         stm32f10x_lib.h中包含外设中的头文件用户应用程序。

第一次编译的时候还没有定义_STM32F10X_LIB_H  所以先定义一下,然后把stm32f10x_map.h包含进来, stm32f10x_map.h 中是所有外围寄存器的定义,


(画红圈的不很明白有什么目的)。 stm32f10x_map.h  中又把stm32f10x_conf.h包含了进来, stm32f10x_conf.h 中都是一些define定义


这里用define定义了所有外设。     现在我们回到 stm32f10x_lib.h 中来看,


这里是一系列的条件编译,比如第一个,如果定义了_DAC,就把stm32f10x_adc.h包含进来。

以上是我简单的理解,不知道对不对?  现在的疑问是stm32f10x_conf.h 这个文件中用define形式定义了所有外设,那在判断#ifdef。。。的时候,都为真,就会把他下边的相应外设的头文件都包含进来。如果我们的一些程序只用到一部分外设的话,那是不是把所有头文件都包含进来就有些浪费了?(问题可能表达的比较幼稚,勿喷)





正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-27 14:22:39 | 显示全部楼层
新例程,我们吧stm32f10x_lib.h去掉了.改成:
#include <stm32f10x_map.h>
#include <stm32f10x_nvic.h>  

stm32f10x_lib.h,是头文件里面包含一堆的其他头文件.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 08:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表