【发布时间】:2011-11-28 16:51:40
【问题描述】:
我编写了一个时钟代码,并创建了一个函数来显示存储在数组 time[] 中的时间
char time[]="23:59:45 ";
char display_time(char *t[], char *, char *, char *);
void main(void)
{
display_time(&time, &hr, &min, &sec);
GLCD_GoTo(5,3);
GLCD_WriteString(time, Font_System7x8);
}
这是我的功能
char display_time(char *t[], char *h, char *m, char *s)
{
*t[0]=*h/10+48;
*t[1]=*h%10+48;
*t[3]=*m/10+48;
*t[4]=*m%10+48;
*t[6]=*s/10+48;
*t[7]=*s%10+48;
}
一切编译正常,但我的时间没有得到更新,只显示初始化值。
【问题讨论】:
-
如果你在课堂上学过
void main(void),是时候换讲师了。 -
将您的编译器警告级别提高到最大.. 并注意警告
-
您永远不会显示应该实际更新时间的代码。我假设您在某个地方实际修改了 time[] 的值,您应该发布执行此操作的代码,这样我们实际上可以看到可能出了什么问题。
-
那段代码中的操作顺序让我头晕。
-
你可能打算这样调用你的函数:
display_time(time, &hr, &min, &sec);- 没有和号准时。