Es wird nichts auf dem Seriellen Motor angezeit.

Gute Tag!
Ich habe mich das erste mal an einem kleinen Programm versucht, doch leider ist das Resultat nicht das, welches ich mir erhofft habe. Ich würde gerne, dass mir die Zeit, welche ich in diesen Variablen steht im Seriellen Monitor ausgegeben wird. Doch leider bleibt dieser leer.
Als Hardware benutze ich einen Arduino Mega2560.
Meine Frage ist, kann mir jemand erklären warum dies so ist?

Der Code lautet wie folgt:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);

int Hour = 0;
int Minute = 0;
int Second = 0;
}

void loop()
{
int Hour = 0;
int Minute = 0;
int Second = 0;

while(true);
{
if(Second = 60)
{
Minute +1 && Second == 0;
}
else if(Minute = 60)
{
Hour +1 && Minute == 0;
}
else
{
Second +1;
}
delay(100);
Serial.print(Hour + Minute + Second);
}
}

Da sind so viele Fehler drin, dass ich gar nicht weiß, wo ich anfangen soll...

  1. aktiviere alle Warnungen.
  2. Lerne "C++ Zuweisung" und "C++ Vergleich"

Und probiere im Setup erst mal, ob Deine Einstellungen im Seriellen Monitor richtig sind, mit:

Seriel.println("Start");

Gruß Tommy

Grundsätzlich wir er im Serial.print (in der Loop) nichts anzeigen, da er nicht in die while-Schleife kommt.

Warum überhaupt diese ?

Nimm die mal raus.

Dann taste dich mal durch die vielen anderen Fehler, die dir combie schon genannt hat, durch.

HotSystems Du Drückst dich etwas irreführend aus.

In die While-Schleife kommt er schon; aber diese ist gleich mit dem ";" fertig.
Der ganze Rest in geschwungenen Klammern wird nicht ausgeführt, weil er nicht Teil des While ist.

@RudieRabe
Bitte lerne mal die Basis von C.

Grüße Uwe

da er nicht in die while-Schleife kommt.

Da er nie wieder aus der While raus kommt.
Und da hat der Uwe schon recht: Alles danach kommt nie an die Reihe.

uwefed:
In die While-Schleife kommt er schon; aber diese ist gleich mit dem ";" fertig.

Und da hat der Uwe schon recht: Alles danach kommt nie an die Reihe.

Ja, das habe ich tatsächlich übersehen.

kann passieren.
Aber ansonsten können wir nicht nie was schreiben weil Du alles richtig machst. :wink:
Grüße Uwe

Wenn das while weggeschmissen wurde, und er zur Zeile

  delay(100);
  Serial.print(Hour + Minute + Second);
}

kommt, wird das für immer und ewig sechshundert mal "0" je Minute schreiben.

Das hätte man auch einfacher haben können. Will man aber selten.

michael_x:
Wenn das while weggeschmissen wurde, und er zur Zeile

  delay(100);

Serial.print(Hour + Minute + Second);
}



kommt, wird das für immer und ewig sechshundert mal "0" je Minute schreiben. 

Das hätte man auch einfacher haben können. Will man aber selten.

Naja...da sind noch haufenweise andere Fehler, aber der TO hat den Mut verloren. :wink:

Und seine Uhr macht sich nicht allein.

kommt, wird das für immer und ewig sechshundert mal "0" je Minute schreiben.

Nöö.

Immer nur 60.
Alle 100ms.
Ohne jede Ausnahme.

Hier ein Ausschnitt:

6060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060

Stimmt!

if (second=60) hatte ich übersehen :stuck_out_tongue:
dass du tatsächlich sowas laufen lässt, hätte ich nicht gedacht.

michael_x:
dass du tatsächlich sowas laufen lässt, hätte ich nicht gedacht.

Habe ja oben folgende Aussage getätigt:

  1. aktiviere alle Warnungen.

Dafür muss ich es ja schon laufen lassen, zumindest kompilieren.

Denn sonst hätte ich ja evtl. gesagt:

Wieso hältst du die Fehlermeldung geheim?

Und dann ist es auch lustig, festzustellen, ob man das Programm "richtig" gelesen hat.
Also, ob auch das heraus kommt, was "ich", nicht der TE, erwarte.

Interessant ist daran, wie du auch anmerkst, "if (second=60)".
Mein Hirn baut da nur allzugerne heimlich ein "if (second==60)" hin.
"Hour +1 && Minute == 0" und "Second +1;" haben auch diese Qualität.

Ich nenne das: "Sprung in der Projektion suchen"