skwin1984 发表于 2012-5-23 14:22:16

C51的可寻址位变量如何全局使用?

在51的头文件中定义了一个可寻址变量,unsigned char bdata op,然后对其进行标志位定义,比如 sfr power=op^0.
请问如何使标志位power能全局使用,也就是说main.c能调用,key.c也能调用?
似乎使用全局变量声明的话也不行。在key.c里面进行extern声明也是不行的。
那到底应该如何进行变量声明才是可以,编译不出错

BXAK 发表于 2012-5-23 15:24:49

unsigned char bdata op;

sbit op_0 = op^0;
sbit op_1 = op^1;
sbit op_2 = op^2;
……

skwin1984 发表于 2012-5-23 15:43:29

问题已经解决,用BIT单独定义power,然后在用到POWER的C文件中用extern进行说明就可以了,楼上的办法是不行的

BXAK 发表于 2012-5-23 16:11:02

skwin1984 发表于 2012-5-23 15:43 static/image/common/back.gif
问题已经解决,用BIT单独定义power,然后在用到POWER的C文件中用extern进行说明就可以了,楼上的办法是不行 ...

恩,看错题意了
页: [1]
查看完整版本: C51的可寻址位变量如何全局使用?