这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » sbit,extern 不同的模块如何共享 sbit 变量????extern不

共2条 1/1 1 跳转至

sbit,extern 不同的模块如何共享 sbit 变量????extern不行呀?讨论

院士
2006-09-17 18:14:16     打赏
sbit,extern 不同的模块如何共享 sbit 变量????extern不行呀?讨论



关键词: extern     不同     模块     如何     共享     变量     行呀         

院士
2006-12-22 22:43:00     打赏
2楼
问 请教版主和高手们,不同的模块如何共享 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: 好了,谢谢各位了!!

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]