盆友们,比如我下面的程序段
sbit dat=P0^0;
void x(bit y){
y=0;//或y=1;
};
int main()
{
x(dat);
}
没有报错。
这种方法为啥不行嘞
bit不是可以对变量赋值吗?
sbit dat0=P0^0;
sbit dat1=P0^1;
void x(uchar io){
switch(io)
{
case 0:dat0=1;break
case 1:da1=1;break;
//....
}
};
函数参数不能是sbit类型
sbit可以用于建立头文件的库,但是sbit是不能用于函数传参的
因为sbit不是char、int之类的变量类型,而是标记一个已有变量的某一位的标识符(只有bdata、地址为8的倍数的寄存器才能用sbit标记它的某位)。