Keil调试中出现:error C141:syntax error near‘unsigned’ 程序哪儿出错了?请高人指教 谢谢~ keil中出现error c141 :syntax erro...

作者&投稿:权平 (若有异议请与网页底部的电邮联系)
ES=1; //开启串行口中断
}
}
} //少了两个 } main函数
}

void send(uint tmp) //前面最好加上 void
{ if(tmp!=0)

//这个函数后边多了两个 }
你把函数 send(uint tmp) 写在函数 main()里面了。


void key4_4(uchar key) //错误就在这里。
这个函数,不应该带有参数,改成:
void key4_4()
试试看。

send(uint tmp)
{
if(tmp!=0)
{
switch(tmp)//选择判断,对应LED熄灭
{
case 1:d1=1;
break;
case 2:d2=1;
break;
case 3:d3=1;
break;
case 4:d4=1;
break;
case 5:d5=1;
break;
case 6:d6=1;
break;
}

P2=0;//P2口不显示
tmp=0;
baojin(); //调用报警子程序,报警器报警
}
}

这是子程序吗?如果是子程序的话,不能这样放到main函数内部。就是这里出问题了。

keil中出现error c141 :syntax error near ‘unsigned’????~

#define DispCode unsigned int必须放在C文件的最上面,或放在h文件中。
预定义是不能出现在函数中的

你可以根据 出错信息提供的行号,在这行附近,在 unsigned, 和 uchar, uint 这些词 前后
查找错误。特别是标点符号,括号配对等。