打印

keil编译程序时出错了

[复制链接]
1608|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开始的梦想|  楼主 | 2010-7-7 22:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾帮我看看这个程序错哪啦?我找了半天没找出来。谢谢!!!程序如下:

#ifndef _DS1302_H_
#define _DS1302_H_

extern uchar str1[]="  -  -   Week:  " ;  
extern uchar str2[]="Time:           " ;  
extern void write_str(uchar addr,uchar *p);


#endif

keil显示:

创建目标 '目标 1'
PA51汇编 STARTUP.A51 ...
编译 main.c ...
C.H\DS1302.H(4): 错误 C129: missing ';' before 'str1'
编译 lcd1602.c ...
编译 key.c ...
编译 beep.c ...
编译 display.c ...
编译 ds1302.c ...
目标未产生

相关帖子

沙发
duojinian| | 2010-7-8 07:59 | 只看该作者
将 #endif放到extern uchar 之前

使用特权

评论回复
板凳
ayb_ice| | 2010-7-8 08:03 | 只看该作者
本帖最后由 ayb_ice 于 2010-7-8 08:04 编辑

错误在此
extern uchar str1[]="  -  -   Week:  " ;  
外部变量声明不能初始化

改成
extern uchar str1[];

...

使用特权

评论回复
地板
开始的梦想|  楼主 | 2010-7-8 11:35 | 只看该作者
之前都试过了,还是不行的呀
ds1302单独编译时能通过,可添加到模块时却出错了,不知道错在哪里了?

使用特权

评论回复
5
yixiupu0| | 2010-7-8 12:03 | 只看该作者
uchar这里 好像不行吧, unsigned char  这里好像没宏定义

使用特权

评论回复
6
linqing171| | 2010-7-8 12:15 | 只看该作者
在 .h 文件里面 声明外部变量,用
extern uchar str1[];

在.c文件里面,定义变量用:
uchar str1[]="  -  -   Week:  " ;  

另外,用uchar之前必须先包含声明uchar的头文件。

使用特权

评论回复
7
开始的梦想|  楼主 | 2010-7-9 21:06 | 只看该作者
都试过了,可还是不行呀!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

58

帖子

1

粉丝