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:
Die Funktion sprintf() aus der Standard-C-Library wird hier dazu benutzt, den String für die gewünschte Ausgabe zu formatieren.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); } } }
Ich hoffe, das hilft Dir ein wenig.
Gruß, M@nni







Zitieren
Lesezeichen