io不连续这样定义为什么不行?

2020-01-27 11:20发布

本帖最后由 cafppla1 于 2013-9-9 12:52 编辑

unsigned char bdata         da;
sbit da0=da^0;
sbit da1=da^1;
sbit da2=da^2;
sbit da3=da^3;
sbit da4=da^4;
sbit da5=da^5;
sbit da6=da^6;

#define da0 P3^4
#define da1 P3^3
#define da2 P3^7
#define da3 P3^0
#define da4 P1^5
#define da5 P1^6
#define da6 P3^1

测试让da=0,可是那几个脚还是输出1,不知道问题在哪?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
cafppla1
1楼-- · 2020-01-28 04:08
hhxb 发表于 2013-9-9 08:57
sbit 是KEIL独有的语法,只能这样写

问题是这样写不行,输出不对
laujc
2楼-- · 2020-01-28 07:51
 精彩回答 2  元偷偷看……
cafppla1
3楼-- · 2020-01-28 10:29
laujc 发表于 2013-9-9 10:44
单独的写一个函数,每个输出时,直接调用,可能更方便灵活,而且在不同的编译器下,都不会出错。
我就是 ...

这样看着有点繁琐…
laujc
4楼-- · 2020-01-28 13:02
cafppla1 发表于 2013-9-9 10:45
这样看着有点繁琐…

一点都不繁琐,你是一个函数,每个用到时调用就可以了。
电子喵星人
5楼-- · 2020-01-28 13:43
好像有点不对劲
hhxb
6楼-- · 2020-01-28 18:16
cafppla1 发表于 2013-9-9 10:44
问题是这样写不行,输出不对

算我没说清楚;
sbit是对的;下面的 #defined 是无效的,反而把sbit的定义给覆盖了

一周热门 更多>