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

[复制链接]
6468|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中直接定义也可
backupyan 发表于 2009-12-28 16:35 | 显示全部楼层
不建议在.h中定义普通变量。通用性差。容易重定义。
neaphy 发表于 2009-12-28 21:42 | 显示全部楼层
用预编译命令可以避免重定义
以前我也喜欢在.h中定义,不用老extern
写多了发现最好在.c中定义,其它模块需要了再申明下,程序规模大了逻辑也清晰,不易用错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

100

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部