单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!!

建立工程,有3个。c文件, 如1.c 2.c 3.c 。 现要定义一个bdata m变量,要单独操作某一位,特定义sbit x=m^1,要求可以在1.c 2.c 3.c 三个文件中都可以使用或操作m,该如何定义呢?请用过的帮个忙,也许我表达有些问题,就是我要在多个文件都能操作同一个自己定义的可寻址变量中的某一位,从而改变这个可寻址变量。316591813.明早9点后 我会在线,可以在线帮忙,解决后还可再加分,拜托拜托。。。

extern就可以。在一个文件里定义:
bdata m;
sbit x=m^1;
然后在另一个文件里声明:
extern bdata m;(如果不使用m可以不声明。)

extern bit x;
这样就可以使用了。如果变量较多,建议楼上的方法,用全局头文件。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
不管你引用再多的文件
main函数只有一个吧!!

如果引用的c文件需要使用全局变量。就把变量写在引用文件前面
比如
int i; //全局变量
#include "1.h"
#include "2.h"
#include "3.h"

不知道能不能帮到你 反正我是这么理解的
第2个回答  2012-11-06
新件一个头文件 GLOAB.h
在里面定义好,bata m;
在定义需要的全局变量
最好加上不重复包含头文件的定义
然后1.c,2.c,3.c写上一句
#include“GLOAB.h”就可以用了追问

感谢您的热心帮助,但您回答的不太详细,好像没说“位”的问题,也许是我基础不够没听懂,还是谢谢!

相似回答