Hallo! Danke nochmal für die Antwort! Habe mir jetzt selber etwas ausgedacht, werde deine Möglichkeit aber auch noch mal überdenken:
Code:
void Zeige_Uhrzeit ()
{
int StundeBit = hour()%10;
int MinuteBit = minute()%10;
lcd.clear();
if(hour() < 10)
{
Null (1, 0);
}
else if ((hour()>10) && (hour()<20))
{
Eins (1, 0);
}
else if ((hour()>=20) && (hour()<=24))
{
Zwei(1, 0);
}
switch (StundeBit)
{
case (0):
{
Null (5, 0);
} break;
case (1):
{
Eins (5, 0);
} break;
case (2):
{
Zwei (5, 0);
} break;
case (3):
{
Drei (5, 0);
} break;
case (4):
{
Vier (5, 0);
} break;
case (5):
{
Fuenf (5, 0);
} break;
case (6):
{
Sechs (5, 0);
} break;
case (7):
{
Sieben (5, 0);
} break;
case (8):
{
Acht (5, 0);
}
case(9):
{
Neun (5, 0);
} break;
}
if(second()%2 == 0)
{
Doppelpunkt(9, 0);
Doppelpunkt(10, 0);
}
if(minute() < 10)
{
Null (12, 0);
}
else if ((minute()>=10) && (minute()<20))
{
Eins (12, 0);
}
else if ((minute()>=20) && (minute()<30))
{
Zwei(12, 0);
}
else if ((minute()>=30) && (minute()<40))
{
Drei(12, 0);
}
else if ((minute()>=40) && (minute()<50))
{
Vier(12, 0);
}
else if ((minute()>=50) && (minute()<60))
{
Fuenf(12, 0);
}
else if (minute()==60)
{
Sechs(12, 0);
}
switch (MinuteBit)
{
case (0):
{
Null (16, 0);
} break;
case (1):
{
Eins (16, 0);
} break;
case (2):
{
Zwei (16, 0);
} break;
case (3):
{
Drei (16, 0);
} break;
case (4):
{
Vier (16, 0);
} break;
case (5):
{
Fuenf (16, 0);
} break;
case (6):
{
Sechs (16, 0);
} break;
case (7):
{
Sieben (16, 0);
} break;
case (8):
{
Acht (16, 0);
}
case(9):
{
Neun (16, 0);
} break;
}
}
Ein bisschen lang - aber es funktioniert =)
Edit: Meine Zeit wird in folgendem Format geliefert: HH:MM:SS.
Edit: Ich muss gestehen, dass ich deine Möglichkeit immer noch nicht verstehe. Liegt mit Sicherheit daran, dass ich mich mehr mit Spieleprogrammierung beschäftigt habe ... Aber mach dir nix drauß ... deine Lösung ist bestimmt besser, aber meine Funkiutoniert ja auch!
LG!
Lesezeichen