OpenEdv-开源电子网

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

例程里每个.c下都包含这那么多.h?

[复制链接]

29

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2018-8-3
在线时间
48 小时
发表于 2018-11-3 14:25:18 | 显示全部楼层 |阅读模式
5金钱
一层一层看并没有发现那么多头文件,可是目录里.c下就几乎有所有的.h。为什么呢
以malloc.c为例,就只包含了malloc.h                                    而malloc.c只包含了"stm32f10x.h"
而"stm32f10x.h"里面搜索关键字include ,发现只包含了
#include "core_cm3.h"
#include "system_stm32f10x.h"
#include <stdint.h>
另外还有个相关的语句是这样的:
#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f10x_conf.h"
#endif


搜索USE_STDPERIPH_DRIVER 发现只有下面这个,而且被注释掉了。
#if !defined  USE_STDPERIPH_DRIVER
/**
* @brief Comment the line below if you will not use the peripherals drivers.
   In this case, these drivers will not be included and the application code will
   be based on direct access to peripherals registers
   */
  /*#define USE_STDPERIPH_DRIVER*/
#endif

并没有发现包含很多其他外设的.h,可是.c目录里+打开确实有几乎所有.h。还有其他所有的.c下面几乎都是包含着所有的。。
请问是哪里我看漏了吗?

最佳答案

查看完整内容[请看2#楼]

谢谢谢谢,太有用了,很详细。我知道conf.h,只是代码里没有包含他,那一段代码被注释了。原来是在keil里人工定义的某个宏从而包含了conf.h。摘抄重点如下: 假如我们要使用库函数,则需要这一句#define USE_STDPERIPH_DRIVER 然而事实上,看一看我们使用库函数的版本,这一句实际上也是被注释了的。 这是为了兼容寄存器版本和库函数版本,在这种情况下,使用库函数编程时,在不改动stm32f10x.h文件的情况下,我们就需要在工 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

59

帖子

0

精华

初级会员

Rank: 2

积分
170
金钱
170
注册时间
2018-8-3
在线时间
48 小时
 楼主| 发表于 2018-11-3 14:25:19 | 显示全部楼层
warship 发表于 2018-11-3 21:09
stm32f10x_conf.h你看了么?参见我的帖子http://www.openedv.com/forum.php?mod=viewthread&tid=275685

谢谢谢谢,太有用了,很详细。我知道conf.h,只是代码里没有包含他,那一段代码被注释了。原来是在keil里人工定义的某个宏从而包含了conf.h。摘抄重点如下:
假如我们要使用库函数,则需要这一句#define USE_STDPERIPH_DRIVER
然而事实上,看一看我们使用库函数的版本,这一句实际上也是被注释了的。
这是为了兼容寄存器版本和库函数版本,在这种情况下,使用库函数编程时,在不改动stm32f10x.h文件的情况下,我们就需要在工程配置“魔术棒”的C/C++选项卡中,手工添加定义:USE_STDPERIPH_DRIVER
这样,在使用库函数编程时,即使stm32f10x.h中的那一句宏定义被注释掉,我们仍然完成了USE_STDPERIPH_DRIVER的宏定义
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4524
金钱
4524
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-11-3 21:09:01 | 显示全部楼层
本帖最后由 warship 于 2018-11-3 21:11 编辑

stm32f10x_conf.h你看了么?参见我的帖子http://www.openedv.com/forum.php?mod=viewthread&tid=275685
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-5 21:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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