共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 跳转至页
回复
有奖活动 | |
---|---|
分享开发笔记,赚取电动螺丝刀(便携轻巧与无刷电机两款可选) | |
看《关键跃升》,聊聊工作心法、动力、能力、沟通与协作,从五个方面深入交流你的工作心得 | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
我要给自己挣一部逻辑分析仪 | |
用知识换取送给亲朋的礼物,做个浪漫的开发者 | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 |
打赏帖 | |
---|---|
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 | |
【换取手持示波器】树莓派PICO逻辑分析仪被打赏16分 |