OpenEdv-开源电子网

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

mdk5包含stm32f10x.h问题

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-6-6
在线时间
6 小时
发表于 2016-7-16 01:04:51 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 wk9027 于 2016-7-16 01:06 编辑

问题1: main.png
在main函数中包含了“stm32f10x.h”,
kk.png
在kk.h没有包含“stm32f10x.h”,为什么编译出错?如果在kk.h中也包含“stm32f10x.h”后编译正确!!!
u32定义在“stm32f10x.h"中,是不是每个文件头都必须要包含“stm32f10x.h”???


问题2:
如果将#include ”stm32f10x.h”放到kk.h中,主函数中包含仅包含#include "kk.h",在main.c文件中使用u32定义变量也不行,这些和我理解的包含命令不一样啊!
书本知识:
#include命令是在预编译时将被包含的文件拷贝的#include命令处,按这样理解,只需在main.c中包含一次“stm32f10x.h”或将“stm32f10x.h”包含另一个文件c.h中,然后main.c文件将c.h包含进来便可,但实际不是这样!无法解释,请大神帮看看!还有谁有用mdk5.2建立的工程,发一个来参看下。


给这种版本的。
无标题.png
教程地址:
http://www.openedv.com/posts/list/27964.htm


这个是我建立的出错文件
temp.rar (1.66 MB, 下载次数: 271)

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

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2016-6-18
在线时间
6 小时
发表于 2016-7-16 08:49:42 | 显示全部楼层
既然你已经把步骤列出来了,自己试一下就知道了,实在找不到问题再找大神帮忙!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-16 08:56:10 | 显示全部楼层
编译报错么?
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-6-6
在线时间
6 小时
 楼主| 发表于 2016-7-16 09:18:37 | 显示全部楼层
后面的temp.rar就是我建立的文件,哪位好心人给看看。实在搞不懂,整了几天了
回复

使用道具 举报

13

主题

448

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1755
金钱
1755
注册时间
2015-2-7
在线时间
369 小时
发表于 2016-7-16 16:03:58 | 显示全部楼层
楼主,kk.h中使用了u32类型所以必须要包含stm32f103xx.h,否则KK.H肯定会报错。因为这个头文件定义了U32数据类型。在main.c中可以包含stm32f103xx.h、也可以包含KK.H他们不会冲突。有时候语句错误(显示红色波浪线)当修改了正确的语句之后还是会显示红色波浪线,这也是有可能的。出现这种情况关闭了MDK再重启工程就会发现红色波浪线错误没有了。不管怎么样,修改之后编译没错就行了。
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2016-6-6
在线时间
6 小时
 楼主| 发表于 2016-7-16 16:43:16 | 显示全部楼层
战舰开发板实例的“stm32f10x.h“都在sys.h中包含,main.c中没有定义,为什么不出错!还有,每个文件都包含一遍“stm32f10x.h“会不会不科学啊!谢谢“电子之旅”的解答,我想应该还有其他原因吧!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 04:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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