typedef struct,编译有问题。

[复制链接]
2677|5
 楼主| 看见未来 发表于 2012-10-11 19:59 | 显示全部楼层 |阅读模式
本帖最后由 看见未来 于 2012-10-13 22:20 编辑

这是在.h文件里定义的部分:
typedef struct
{
uint_8  year;
uint_8  month;
uint_8  week;
uint_8  day;
uint_8 hour;
uint_8  minute;
uint_8  second;
}TIME;
extern TIME current_time;

这是在程序里读取时间的部分:
current_time.second = BcdToDec(ds1302_read_time(ds1302_read_addr[0]));
current_time.minute = BcdToDec(ds1302_read_time(ds1302_read_addr[1]));
current_time.hour = BcdToDec(ds1302_read_time(ds1302_read_addr[2]));
current_time.day = BcdToDec(ds1302_read_time(ds1302_read_addr[3]));
current_time.month = BcdToDec(ds1302_read_time(ds1302_read_addr[4]));
current_time.week = BcdToDec(ds1302_read_time(ds1302_read_addr[5]));
current_time.year = BcdToDec(ds1302_read_time(ds1302_read_addr[6]));

编译出现问题,如图提示,怎么回事啊?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
l4157 发表于 2012-10-13 09:19 | 显示全部楼层
写程序不规范,是容易迷茫哈...
zl98lb 发表于 2012-10-14 10:23 | 显示全部楼层
BcdToDec()函数返回类型有吗?别告诉我是void BcdToDec()。
yewuyi 发表于 2012-10-15 10:23 | 显示全部楼层
你在某个H文件中定义了typedef struct之后,将这个H文件包含到C文件中,然后在C文件中定义TIME current_time;
然后就可以使用current_time了。。。

extern 可不能乱写。

检查以上可能后再编译看看如何?
 楼主| 看见未来 发表于 2012-10-15 21:27 | 显示全部楼层
3# zl98lb
我错了
 楼主| 看见未来 发表于 2012-10-15 21:29 | 显示全部楼层
4# yewuyi
谢谢ye哥,3楼兄弟说的,我错了。那段函数前面加void了,有返回值的,我太粗心了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:loser

17

主题

1073

帖子

1

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