OpenEdv-开源电子网

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

头文件包含编译问题 flash.c & stm32f10x_spi.h

[复制链接]

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2013-10-23
在线时间
0 小时
发表于 2014-12-30 22:26:08 | 显示全部楼层 |阅读模式
5金钱
我不大理解为什么原子哥的战舰开发板例程中一些不理解。。。。
比如:

在文件flash.c文件中有使用到了变量 SPI_BaudRatePrescaler_2 ;但是变量 SPI_BaudRatePrescaler_2 是在头文件stm32f10x_spi.h 中定义的;
而原子哥的例程中 flash.c 文件内并没有 #include "stm32f10x_spi.h"  这么一句 却可以编译通过是怎么回事?

求大神解释,求原子哥解释!!!

最佳答案

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

stm32f10x.h含有 stm32f10x_cof.h, stm32f10x_conf.h含有 stm32f10x_spi.h。
人之所以能是相信能!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2014-12-30 22:26:09 | 显示全部楼层
stm32f10x.h含有 stm32f10x_cof.h, stm32f10x_conf.h含有 stm32f10x_spi.h。
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2013-10-23
在线时间
0 小时
 楼主| 发表于 2014-12-31 14:02:38 | 显示全部楼层
回复【2楼】BMN李:
---------------------------------
理解了,找了一圈
原来是层层包含
#include "spi.h"  
-->
#include "sys.h"
-->
#include "stm32f10x.h"
-->
#include "stm32f10x_conf.h"
-->
#include "stm32f10x_spi.h"
变量 SPI_BaudRatePrescaler_2  在头文件stm32f10x_spi.h 中有定义;
人之所以能是相信能!
回复

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2013-10-23
在线时间
0 小时
 楼主| 发表于 2014-12-31 14:05:04 | 显示全部楼层
回复【3楼】一介布衣在江湖:
---------------------------------
但是也要注意
#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f10x_conf.h"
#endif

也就是
#include "stm32f10x_conf.h"
不一定包含。。。所以在使用过程中还是需要注意的!!
人之所以能是相信能!
回复

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-8-27
在线时间
0 小时
发表于 2016-8-30 15:24:13 | 显示全部楼层
又学到了
回复

使用道具 举报

sg24ever 该用户已被删除
发表于 2016-11-17 16:32:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-25 08:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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