野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 19613|回复: 10

关于keil的一些不解

[复制链接]
发表于 2014-10-4 11:23:06 | 显示全部楼层 |阅读模式
QQ图片20141004020704.jpg
一、初学stm32,我想知道,为什么main函数里面没有加"extern  c"是因为另外几个.c是在同一工程下么?

QQ图片20141004021302.jpg
二、为什么这个.c文件里面没有include "stm32f10x_gipo"?bsp_key.h和bsp_led.h里面也没有包含这个头文件,为什么?或者说,这个"stm32f10x_gipo.h"在这个工程里何时何地被包含了?
新手一个,求解释下

QQ图片20141004020711.jpg
回复

使用道具 举报

发表于 2014-10-4 11:55:13 | 显示全部楼层
好贴,顶一个!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-4 12:00:34 | 显示全部楼层
单片机的青春 发表于 2014-10-4 11:55
好贴,顶一个!

我擦类,水经验的么?
回复 支持 反对

使用道具 举报

发表于 2014-10-4 12:02:01 | 显示全部楼层
走过路过,不能错过
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-4 12:03:14 | 显示全部楼层
解决了.....原来在一个头文件里面包含了这些头文件...嵌套了一遍....但是我还是不太懂,为什么没有extern c
回复 支持 反对

使用道具 举报

发表于 2014-10-4 16:55:31 | 显示全部楼层
506860449 发表于 2014-10-4 12:03
解决了.....原来在一个头文件里面包含了这些头文件...嵌套了一遍....但是我还是不太懂,为什么没有extern c

stm32f10x.h头文件里面包含官方库,把注释取消掉来投入使用对应的模块。自定义的功能模块的头文件里都需要添加stm32f10x.h这个头文件,除非不需要用到官方库。
在x.h头文件里面声明了一个函数,在x.c文件里面定义并实现该函数,然后其他的xxx.c文件只要#include了x.h头文件,那就可以使用那些声明了的函数。
其实,每个.c文件最终会编译才一个.o文件,然后再全部连接起来变成一个最终的hex文件也好,bin文件也好。头文件通常用来作声明和宏定义,使得不同.c文件之间可以方便交流。
回复 支持 反对

使用道具 举报

发表于 2014-10-4 20:01:08 | 显示全部楼层
我表示从来没用过extern c
回复 支持 反对

使用道具 举报

发表于 2014-10-6 10:51:39 | 显示全部楼层
哥们你建工程的时候,在C和C++选项里面不是包含了库文件的路径了吗,他们默认会寻找的,要是不加的话,就是添加keil里面的默认文件了啊!
回复 支持 反对

使用道具 举报

发表于 2014-10-6 10:58:43 | 显示全部楼层
stm3210x_conf.h里面已经配置了,呵呵!
回复 支持 反对

使用道具 举报

发表于 2014-10-6 11:07:39 | 显示全部楼层
难道连51单片机的模块化程序设计都没做过么?个人STM32就是模块化程序设计的,只不过再加上个自己的库
回复 支持 反对

使用道具 举报

发表于 2014-10-6 11:12:29 | 显示全部楼层
在main函数里有个stm32f10x_conf.h文件,这个文件就是专门管理外设头文件的,进去看一下就知道了。
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 14:06 , Processed in 0.034248 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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