Count - schnelle und einfache Frage

Hallo zusammen.
Ich verzweifel gerade. Ich versuche mittels eines raspberry Pi dem Arduino über USB einen befehl zu senden. Leider kommt der Pi scheinbar mit den counts nicht klar, welche ausgegeben werden. Es wirkt so, als würde er sich verschlucken.
Hier mein Problem:

void loop()
{
   
    Serial.println(count);
      if (count == 2000)
      {
         sendstatus();
         count = 0;
         }
    else
    {
    lights1();
    }
    count++;

Wie kann ich den Count laufen lassen, ohne ihn auf die serielle Console auszugeben? Sobald ich den Print raus nehme, zählt er auch nicht mehr.

Würd mich über ne kurze hilfe freuen

Gruß

frannek

Dein Sketch ist fehlerhaft:

  • count ist nicht definiert
  • Die Klammern sind falsch

Dass setup() fehlt, ( auch sendstatus() und lights1() ) sei vermutlich mal egal.

Wie kann ich den Count laufen lassen, ohne ihn auf die serielle Console auszugeben? Sobald ich den Print raus nehme, zählt er auch nicht mehr.

Ich bin sicher, die Ursache dessen, was du Fehler nennst, hast du nicht gezeigt.
Woraus schließt du, dass dann count nicht mehr zählt ?

Nun, dass ich das ganze Setup, sendstatus und lights nicht mit reingepackt habe, dient der Übersichtlichkeit.
Und jetzt hab ich durch probieren den Fehler gefunden. ich habe den Wert 2000 viel zu klein gewählt. Wenn ich keine Ausgabe auf die Konsole sende, rennt der Zähler so schnell nach oben, dass ich immer dahte, er würde das count überspringen. Nochmal drüber geschlafen und ruhig dran gesetzt - jetzt gehts.
PS. Count war natürlich als integer definiert ,-)

Na ja, ohne das Serial.println(count); (und ohne sendstatus() und lights1() ) kann keiner ahnen, woran du überhaupt irgendwas erkennen kannst.

Schön, dass ich helfen konnte :wink:

sendstatus() und lights1() gaben ebenfalls eine Rückmeldung auf die Konsole. Die kamen aber so schnell, dass ich nicht auf die Idee kam, dass das Count Ziel extrem schnell erreicht wurde. Nochmal drüber nachgedacht und festgestellt, dass sendstatus() ja ausgelöst wurde. Und dies kann er ja nur, wenn eben der Wert 2000 erreicht wurde. Naja.. manchmal hilft eben etwas Schlaf und ein Michael_x :slight_smile: besten Dank