Hi Alex,
das Arbeiten mit Strings ist, wie churchi schon erläutert hat, für einen Anfänger in der C-Programmierung nicht so ganz einfach. So müsste es aber funktionieren:
Code:
#include <stdio.h>
#define preValue 57724
int volatile gSeconds = 0;
SIGNAL (SIG_OVERFLOW1)
{
gSeconds++;
TCNT1 = preValue;
}
int main (void)
{
int seconds = 0;
int minutes = 0;
int hours = 0;
char mytime[] = "00:00:00";
lcd_init (LCD_DISP_ON);
TCCR1B = (1<<CS12) | (1<<CS10);
TIMSK |= (1<<TOIE1);
TCNT1 = preValue;
sei ();
lcd_puts ("Time: ");
lcd_puts (mytime);
while (1)
{
if (seconds != gSeconds)
{
seconds = gSeconds;
if (seconds == 60)
{
seconds = 0;
gSeconds = 0;
minutes++;
}
if (minutes == 60)
{
minutes = 0;
hours++;
}
if (hours == 24)
hours = 0;
/* Uhrzeit formatieren */
sprintf (mytime, "%02d:%02d:%02d", hours, minutes, seconds);
/* und auf dem Display ausgeben */
lcd_gotoxy (6,0);
lcd_puts (mytime);
}
}
}
Die Funktion sprintf() aus der Standard-C-Library wird hier dazu benutzt, den String für die gewünschte Ausgabe zu formatieren.
Ich hoffe, das hilft Dir ein wenig.
Gruß, M@nni
Lesezeichen