keil 4x4矩阵键盘出错。。KEY4_4.H(18): error C141: syntax error near 'key', expected ')'

编译的头文件。
程序如下:
# include <reg51.h>
void Timer2(void) interrupt 1
{
TH0=-(50000/256);
TL0=-(50000%256);
}
void key4_4(uchar key) //错误就在这里。

{
unsigned char k,in;
if(RI=1)
{
while(1)
{
P3=0xfe;
in=P3;
if(in!=0xfe)
{ delay();//消除抖动
in=P3;
switch(in)
{
case 0xee:key=0;
break;
case 0xde:key=1;
break;
case 0xbe:key=2;
break;
case 0x7e:key=3;
break;

}
}
P3=0XFD;
in=P3;
if(in!=0XFD)
{ delay(); //消除抖动。
in=P3;
switch(in)
{
case 0xed:key=4;
break;
case 0xdd:key=5;
break;
case 0xbd:key=6;
break;
case 0x7d:key=7;
break;
}
}

P3=0xfb;
in=P3;
if(in!=0xfb)
{ delay();//消除抖动
in=P3;
switch(in)
{
case 0xeb:key=8;
break;
case 0xdb:key=9;
break;
case 0xbb:key=10;
break;
case 0x7b:key=11;
break;

}
}

P3=0xf7;
in=P3;
if(in!=0xf7)
{ delay();//消除抖动
in=P3;
switch(in)
{
case 0xe7:key=12;
break;
case 0xd7:key=13;
break;
case 0xb7:key=14;
break;
case 0x77:key=15;
break;

}
}

return (key);
}

}

}
void delay5ms()
{
unsigned char i,j;
for(i=0;i<121;i++)
for(j=0;j<100;j++);
}

void key4_4(uchar key) //错误就在这里。
这个函数,不应该带有参数,改成:
void key4_4()
试试看。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-21
你的KEY4_4.H中某个函数声明后面少了分号“;”,或者KEY4_4.H中声明的函数与定义有出入。
第2个回答  2011-04-02
函数声明出错