标题: 求助偶刚开始学C51单片机编译出错 [打印本页]

作者: senlinwang    时间: 2010-4-30 14:33
标题: 求助偶刚开始学C51单片机编译出错

大哥们,偶刚开始学C51单片机,写了个小程序,用来显示一个如258的数,然后一个专门的显示函数如下:

 

函数声明为:

 

void display(uchar ge,uchar shi,uchar bai);

子函数为:

 

void display(uchar ge,uchar shi,uchar bai)
{

 .....

 

}

 

编译后显示:

 

创建目标‘Target 1'

编译 409.c ...

409.c(55):错误 C141: syntax error near ';'

409.c(88):错误 C141: syntax error near ';'

目标未产生

 

这是错在哪呀?不胜感激!


作者: senlinwang    时间: 2010-4-30 15:53

咋没人来回我呀

 

如果将参数改成无参数或者只带一个参数,编译就可以通过,真搞不懂。


作者: senlinwang    时间: 2010-4-30 16:15

我改成下边这样就可以编译通过:

 

void display(unsigned char ge,unsinged char shi,unsigned char bai)

可是我前边有这样定义啊:#define uchar unsinged char ;

 

搞糊涂了。

 

并且进行局部变量定义时,也不可以用如 uchar , uint 之类的,只能用如 unsigned int x,y,z; 但是全局变量又可以。

 

是我把Keil Uv2的哪个地方不小心了设置错了吗?


作者: admin    时间: 2010-4-30 16:24
uchar , uint 本就不是c51的 关键字啊  这都需要自己定义的呢
作者: admin    时间: 2010-4-30 16:26

syntax error near ';'

是这个分号有问题 ,你用了全角的分号 应该要用英文输入法状态的分号


作者: senlinwang    时间: 2010-4-30 16:54
谢谢回复 我有定义呢,前边有这样定义的: #define uchar unsigned char #define uint unsigned int
作者: senlinwang    时间: 2010-4-30 16:56
以下是引用admin在2010-4-30 16:24:53的发言:
uchar , uint 本就不是c51的 关键字啊  这都需要自己定义的呢

谢谢回复 我有定义呢,前边有这样定义的:

 #define uchar unsigned char

 #define uint unsigned int


作者: senlinwang    时间: 2010-4-30 16:58
以下是引用admin在2010-4-30 16:26:45的发言:

syntax error near ';'

是这个分号有问题 ,你用了全角的分号 应该要用英文输入法状态的分号

太感谢了!

就这个问题,就这个地方用了个全角分号。

 


作者: admin    时间: 2010-5-1 00:30

不用谢 






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1