找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6504|回复: 8
打印 上一主题 下一主题
收起左侧

求助偶刚开始学C51单片机编译出错

[复制链接]
跳转到指定楼层
楼主
ID:6202 发表于 2010-4-30 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

大哥们,偶刚开始学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 ';'

目标未产生

 

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:6202 发表于 2010-4-30 15:53 | 只看该作者

咋没人来回我呀

 

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

回复

使用道具 举报

板凳
ID:6202 发表于 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的哪个地方不小心了设置错了吗?

回复

使用道具 举报

地板
ID:1 发表于 2010-4-30 16:24 | 只看该作者
uchar , uint 本就不是c51的 关键字啊  这都需要自己定义的呢
回复

使用道具 举报

5#
ID:1 发表于 2010-4-30 16:26 | 只看该作者

syntax error near ';'

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

回复

使用道具 举报

6#
ID:6202 发表于 2010-4-30 16:54 | 只看该作者
谢谢回复 我有定义呢,前边有这样定义的: #define uchar unsigned char #define uint unsigned int
回复

使用道具 举报

7#
ID:6202 发表于 2010-4-30 16:56 | 只看该作者
以下是引用admin在2010-4-30 16:24:53的发言:
uchar , uint 本就不是c51的 关键字啊  这都需要自己定义的呢

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

 #define uchar unsigned char

 #define uint unsigned int

回复

使用道具 举报

8#
ID:6202 发表于 2010-4-30 16:58 | 只看该作者
以下是引用admin在2010-4-30 16:26:45的发言:

syntax error near ';'

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

太感谢了!

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

 

回复

使用道具 举报

9#
ID:1 发表于 2010-5-1 00:30 | 只看该作者

不用谢 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表