请问大神,sbit不能做为函数的参数传递吗?
我的代码是这样的。typedef unsigned int u16;
typedef unsigned char u8;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
sbit k7=P1^6;
sbit k8=P1^7;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
void delay(u16 i)
{
while(i--);
}
void keypros(sbit k,sbit led)
{
if(k==0)
{
delay(1000);
if(k==0)
{
led=~led;
}
while(!k);
}
}
void keypress()
{
keypros(k1,led1);
keypros(k2,led2);
keypros(k3,led3);
keypros(k4,led4);
keypros(k5,led5);
keypros(k6,led6);
keypros(k7,led7);
keypros(k8,led8);
}
提示k变量没有定义 应该不能吧,sfr、sbit这种特殊的变量只能是全局。
页:
[1]