目标未产生

[复制链接]
1504|8
 楼主| zhenykun 发表于 2014-1-27 19:27 | 显示全部楼层 |阅读模式
#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 ...
目标未产生
wyjie 发表于 2014-1-27 19:28 | 显示全部楼层
将 #endif放到extern uchar 之前
 楼主| zhenykun 发表于 2014-1-27 19:30 | 显示全部楼层
之前都试过了,还是不行的呀
ds1302单独编译时能通过,可添加到模块时却出错了,不知道错在哪里了?
jlyuan 发表于 2014-1-27 19:30 | 显示全部楼层
uchar这里 好像不行吧, unsigned char  这里好像没宏定义
jiaxw 发表于 2014-1-27 19:32 | 显示全部楼层
在 .h 文件里面 声明外部变量,用
extern uchar str1[];

在.c文件里面,定义变量用:
uchar str1[]="  -  -   Week:  " ;
spark周 发表于 2014-1-27 19:33 | 显示全部楼层
是啊,用uchar之前必须先包含声明uchar的头文件。
 楼主| zhenykun 发表于 2014-1-27 19:35 | 显示全部楼层
好的,我再试试
 楼主| zhenykun 发表于 2014-1-27 19:35 | 显示全部楼层
先结贴了
52414133 发表于 2014-2-26 09:04 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部