uchar bdata flag=0; sbit FF=flag^0; 和bit FF=0;两种定义哪种好?
uchar bdata flag=0;sbit FF=flag^0;和
bit FF=0;两种定义有何具体区别
用哪种好 都一样吧 raxb 发表于 2012-7-31 12:36 static/image/common/back.gif
都一样吧
他们的地址分配呢? 现在程序写的标志位都不够用了,多定义一个标志位程序就出乱 3050311118 发表于 2012-7-31 12:37 static/image/common/back.gif
他们的地址分配呢? 现在程序写的标志位都不够用了,多定义一个标志位程序就出乱 ...
第一个是人为指定的,第二个是自动分配的吧 相同点:把它当成一个位变量使用时,全相同。
不同点:
1.第一种占用一个字节;第二种占用一位.
2.第一种是先由编译器在可位寻址的空间里分配一个字节,然后变量FF占用该字节的第0位;第二种是由编译器直接在可位寻址的空间里分配一个位。
3.第一种还可以定义flag中的其他位,使用类似于C语言的位域;第二种仅仅是一个位变量。 raxb 发表于 2012-7-31 12:50 static/image/common/back.gif
第一个是人为指定的,第二个是自动分配的吧
他们的地址都是在
20---2F吗 dadatou 发表于 2012-7-31 12:59 static/image/common/back.gif
相同点:把它当成一个位变量使用时,全相同。
不同点:
1.第一种占用一个字节;第二种占用一位.
第一种还可以是可位寻址的特殊功能寄存器啊,不一定在位段
3050311118 发表于 2012-7-31 12:59 static/image/common/back.gif
他们的地址都是在
20---2F吗
你想想
sbit LED = P1^0;
y574924080 发表于 2012-7-31 13:06 static/image/common/back.gif
第一种还可以是可位寻址的特殊功能寄存器啊,不一定在位段
uchar bdata flag=0
这个不可能会到特殊功能寄存器里面去的,不然程序还不乱套啊? dadatou 发表于 2012-7-31 13:12 static/image/common/back.gif
uchar bdata flag=0
这个不可能会到特殊功能寄存器里面去的,不然程序还不乱套啊? ...
额,我理解错了
{:sweat:}
我理解为比较bit 和 sbit 的区别了
页:
[1]