hi Leute,
ich Probiere mich gerade an der Funktion millis(). Doch ich finde meine Codes viel zu unübersichtllich. Wie könnte ich den Code Übersichtlicher schreiben.
Ich weiß nicht sicher ob der Code so funktioniert.
Benutze eine einzige Variable, z.B. now oder jetzt, die am Anfang von loop() gesetzt wird. Danach diese Variable statt millis() verwenden, und keine neuen Variablen dafür benutzen.
Nicht vergessen: wenn eine Wartezeit abgelaufen ist, muß das Warten irgendwann wieder gestartet werden.
Bei LEDs würde ich als Zustand ON und OFF bevorzugen, statt dem nichtssagenden HIGH und LOW.
zwieblum:
Wer kommt auf solche Variablennamen? Ich dachte das Agile-Mantra ist mittlerweile verstorben?
Ich habe den Code in meiner Arbeit einfach schnell geschrieben ohne großartig auf Rechtschreibung und variablen Namen zu achten.
DrDiettrich:
Benutze eine einzige Variable, z.B. now oder jetzt, die am Anfang von loop() gesetzt wird. Danach diese Variable statt millis() verwenden, und keine neuen Variablen dafür benutzen.
was genau meinst du mit now?
unsigned long now = millis(); ?
und dann currentLEDblink = now; oder wie ganu meinst du das?
ich würde das Geblinke in Funktionen aufteilen bzw. eine mit Parameterübergabe. switch case sollte nicht dazu verkommen dort alles reinzuklatschen. In switch case sollten im besten Fall nur wenige Steuervariablen gesetzt/geändert und/oder Funktionen aufgerufen werden.
könntest du mir vielleicht ein kleines Beispiel geben. Ich weiß nicht wie ich das mit der Funktion / Parameter übergabe machen soll. Ich komme ursprünglich von Java da war das keine Problem mit mehreren Klassen..
Wie würdet ihr das ganze machen. Ein Beispiel "Code" wäre nicht schlecht um es besser zu verstehen
So wäre das mit der Funktion wie ich das in dem Beitrag verstanden habe. Jetzt ist nur die Frage. weil eine while schleife Freezt ja das Programm genau wie delay. Wie kann ich das umgehen
Ich will das die Funtion "BlinkLED" so lange ausgeführt wird bist "MainScreen != 0" ist
Argh! Das ist genau der Grund, warum Agile zum speiben ist. Was bitte hat hat der Name/Text/Bedeutung von "currentLEDBLINK" mit der Zahl der verstrichen ms seit Poweron zu tun? Oder ist die korrekte Übersetzung von "BLINK" "Zeit"? Und wie schaut das aus, wenn da mal ein paar hundert Zeilen Code stehen, gibt's dann da eine Übersetzungstabelle? Oder fragt man einfach so lange, bis man sich wieder erinnert? Ich seh' den Sprudel den ganzen Tag, der Projektleiter faselt dann was von "Clean Code" und "Agile", seine Untergebenen schauen blaueugig drein und man selbst kämpft wieder mal mit dem Blutdruck.