共2条
1/1 1 跳转至页
sbit,extern 不同的模块如何共享 sbit 变量????extern不行呀?讨论

问
请教版主和高手们,不同的模块如何共享 sbit 变量,extern不行呀?
大家来讨论一下吧。有遇到过这个问题朋友,指点一下。 答 1: 有啥好讨论的sbit和define,srf类似。你把它写在一个单独H文件中再都包含它 答 2: 再定义一次地址是一样的,
所以没事的。 答 3: 我今天查了一下午的资料,帮我再看一下to enbed:
我今天查了一下午的资料,知道这个是sbit的意义,也看到网上有人提示说将它放到单独的一个.h文件中,然后用到的文件都 include 它,
可是我试了定义:
//**************
int bdata a=0;
//*************
在 一个.h文件中 定义:
//---------------
extern int bdata a;
sbit b=a^7;
//-------------
//然后各模块包含这个头文件,可是这样提示 a 的类型不匹配!
高手提示一下问题在哪里呢?
答 4: H文件被包含错误 答 5: 不要extern不要extern 答 6: re定义
unsigned char bdata flag;
sbit flag0=flag^0;
声明
extern bit flag0;
答 7: 为什么,我试了以上的说法都还不行呢?你们测试过吗?定义
unsigned char bdata flag;
sbit flag0=flag^0;
声明
extern bit flag0;
这样调试通不过呀,提示" 'flag0': redefinition "!
去掉 extern 现象一样的。 答 8: see this:在一个文件中这样:
uint bdata test;
sbit tflag = test^1;
其他的用到这个bit变量的地方只要声明:
extern tflag就可以了;),
注意:只要extern bit tflag;没有什么extern uint bdata test什么的啊,呵呵:)
我已经test ok了,希望你没问题了; ) 答 9: 好了,谢谢各位了!!
大家来讨论一下吧。有遇到过这个问题朋友,指点一下。 答 1: 有啥好讨论的sbit和define,srf类似。你把它写在一个单独H文件中再都包含它 答 2: 再定义一次地址是一样的,
所以没事的。 答 3: 我今天查了一下午的资料,帮我再看一下to enbed:
我今天查了一下午的资料,知道这个是sbit的意义,也看到网上有人提示说将它放到单独的一个.h文件中,然后用到的文件都 include 它,
可是我试了定义:
//**************
int bdata a=0;
//*************
在 一个.h文件中 定义:
//---------------
extern int bdata a;
sbit b=a^7;
//-------------
//然后各模块包含这个头文件,可是这样提示 a 的类型不匹配!
高手提示一下问题在哪里呢?
答 4: H文件被包含错误 答 5: 不要extern不要extern 答 6: re定义
unsigned char bdata flag;
sbit flag0=flag^0;
声明
extern bit flag0;
答 7: 为什么,我试了以上的说法都还不行呢?你们测试过吗?定义
unsigned char bdata flag;
sbit flag0=flag^0;
声明
extern bit flag0;
这样调试通不过呀,提示" 'flag0': redefinition "!
去掉 extern 现象一样的。 答 8: see this:在一个文件中这样:
uint bdata test;
sbit tflag = test^1;
其他的用到这个bit变量的地方只要声明:
extern tflag就可以了;),
注意:只要extern bit tflag;没有什么extern uint bdata test什么的啊,呵呵:)
我已经test ok了,希望你没问题了; ) 答 9: 好了,谢谢各位了!!
共2条
1/1 1 跳转至页