打印

pic单片机全局变量如何定义

[复制链接]
5609|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hensonman|  楼主 | 2009-11-18 22:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教一下: 我在用pic的时候写了好几个c文件和h文件,有些变量我要在所有的c文件里都能用,怎么定义这个变量, 我单片机用的不多,希望有人能给我解答一下
沙发
cheungman| | 2009-11-18 23:36 | 只看该作者
比如fun.c中定义的一个全局变量
unsigned char g_Fun_GlobalVar;

在fun.h中这样声明
extern unsigned char g_Fun_GlobalVar;

这样其他C文件就可以使用这个全局变量了.

使用特权

评论回复
板凳
hensonman|  楼主 | 2009-11-19 00:27 | 只看该作者
非常感谢, 我自己搞混了,把在h文件的声明当成定义了,所以在c文件里就没定义他,怪不得不行

使用特权

评论回复
地板
牛牛特工| | 2009-12-13 17:28 | 只看该作者
在.h中直接定义也可

使用特权

评论回复
5
backupyan| | 2009-12-28 16:35 | 只看该作者
不建议在.h中定义普通变量。通用性差。容易重定义。

使用特权

评论回复
6
neaphy| | 2009-12-28 21:42 | 只看该作者
用预编译命令可以避免重定义
以前我也喜欢在.h中定义,不用老extern
写多了发现最好在.c中定义,其它模块需要了再申明下,程序规模大了逻辑也清晰,不易用错

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

100

帖子

0

粉丝