print("do something when the time period-1 is up")
19
diff_erreicht=0
20
21
#how can I program this now, so that the next If statements are executed correctly.
22
23
ifzeit_diff(1000)==1:
24
print("do something when the time period-2 is up")
25
diff_erreicht=0
26
27
ifzeit_diff(2000)==1:
28
print("do something when the time period-3 .... is up")
29
diff_erreicht=0
Ich möchte im Hauptprogramm zeitgesteuert verschiedene Aufgaben
erledigen.
Wie muss ich mein Unterprogramm ändern, so das ich die If-Abfragen
mehrfach
zeitgesteuert abfragen kann.
Bin noch ein Neuling.
Vereinfacht noch einmal das Ziel.
Mein Hauptprogramm läuft beständig durch.
alle zB. 2 sek soll die erste If-Bedingung abgefragt werden und falls
sie erfüllt ist ausführen.
alle zB. 5 sek soll die zweite Bedingung abgefragt werden und falls
erfüllt dann ausgefürt werden.
alle zB. 7 sek soll die dritte Bedingung abgefragt werden und falls
erfüllt dann ausgefürt werden.
Dann wäre es gut die Differenz der einzelnen Abfragen als Rückgabe zu
haben.
Es soll auch eine IF-Abfrage sein die, wenn sie erfüllt ist, dann z.B.
wärend der Ausführung immer alle 2 sek. was ausführt.
Dies wäre noch die wichtigste Aufgabe.
im Hauptprogramm will ich dann abhängig vom code die einzelnen sek
steuern können.
Und dann wird das gesammte sehr komplex für mich
Wenn du 3 Zeiten Willst, dann mach doch 3 Zähler. Sofern MicroPython OOP
unterstützt, solltest du dich in OOP einarbeiten. Da machst du eine
Klasse und dann 3 Instanzen mit den unterschiedlichen Zeiten.
Dieter T. schrieb:> while True:> print("I am the main program")
Hier erscheint tausende male je Sekunde dein Text, willst du das
wirklich?
Hier erscheint tausende male je Sekunde dein Text, willst du das
wirklich?
Natürlich nicht, der Satz steht da im Beispiel als Platzhalter für s
Hauptpogramm
Dieter T. schrieb:> Vereinfacht noch einmal das Ziel.
Schon klar.
> Und dann wird das gesammte sehr komplex für mich
Bitte entschuldige, hast Du meinen vorherigen Beitrag verstanden? Wenn
Du die von mir erwähnten Punkte nicht beachtest, wird das nämlich leider
nie was. Anhand des Code, den Du oben gepostet hast, nehme ich an, daß
Du Dich mit Python noch nicht sonderlich gut auskennst. Wenn meine
Vermutung zutrifft, empfehle ich Dir wärmstens, zunächst einmal Python
zu lernen und Dich erst dann an die Programmierung von Mikrocontrollern
mit Micropython zu begeben, wenn Du die Sprache halbwegs beherrschst.
Übrigens würde ich das eher so machen, daß ich eine Klasse für den
Counter schriebe, meine Funktionen mit ihren gewünschten
Ausführungszeiten an einer Instanz dieser Klasse registrierte und eine
weitere Methode (das könnte auch __call__() sein) der Instanz jede
Sekunde von einem Hardware-Timer aufrufen ließe.
Jemand schrieb:> Anhand des Code, den Du oben gepostet hast, nehme ich an
Mein Code lief ja bis zur 2 If Anfrage richtig, nur das Return hatte ich
vor dem kopieren wohl verschoben. Das die nächsten beiden If Anfragen
dann Globalen überschrieben hatten war mir auch klar.
Jemand schrieb:> diff_erreicht = 1 # besser: True> return diff_erreicht
Mein gesamter Code war nur ein Beispiel das erklären sollte was ich
erreichen wollte.
Und das letztendlich True und False besser ist sei Mal erst
dahingestellt man könnte für die zweite If Anfrage mit der Variable als
drei oder ..... weiterarbeiten.
Ja ich bin noch Neuling in Python aber deine Ausführungen darüber sind
hohl. Wer sagt dir das ich keine Erfahrung in andere Sprachen habe
........
Ich suche hier eigendlich nur nach eine bessere Lösung, oder bessere
Ansätze. Vielleicht Hinweise wie man so etwas viel besser unter Python
lösen kann.
Dieter T. schrieb:> Jemand schrieb:>> Anhand des Code, den Du oben gepostet hast, nehme ich an>> Mein Code lief ja bis zur 2 If Anfrage richtig,
Er hat zufällig funktioniert, aber richtig war er trotzdem nicht.
Anscheinend legst Du andere Qualitätskriterien für Deinen Code an als
ich für meinen.
> nur das Return hatte ich> vor dem kopieren wohl verschoben.
Das kann ich kaum glauben, denn dann hättest Du eine undefinierte
Variable.
> Das die nächsten beiden If Anfragen> dann Globalen überschrieben hatten war mir auch klar.
Das war aber gar nicht mein Punkt.
> Jemand schrieb:>> diff_erreicht = 1 # besser: True>> return diff_erreicht>> Mein gesamter Code war nur ein Beispiel das erklären sollte was ich> erreichen wollte.
Das hättest Du möglicherweise besser dazuschreiben sollen, für mich war
das nicht ersichtlich. Was ich sehe, ist, daß Dein Code nicht
funktioniert, und daß er das zumindest mit diesem Denkansatz auch nicht
wird.
> Und das letztendlich True und False besser ist sei Mal erst> dahingestellt man könnte für die zweite If Anfrage mit der Variable als> drei oder ..... weiterarbeiten.
Dafür gibt es in Python so Dinger, wie hießen die noch gleich? Mist,
vergessen.
> Ja ich bin noch Neuling in Python aber deine Ausführungen darüber sind> hohl.
... und obwohl sie so hohl sind, hast Du sie nicht verstanden. Schade.
> Wer sagt dir das ich keine Erfahrung in andere Sprachen habe
Hat irgendjemand etwas dazu gesagt? Ich jedenfalls nicht. Meine
Vermutung war, daß Du ein Neuling in Python bist, was Du gerade
bestätigt hast. Deswegen hatte ich Dir geraten, Dich zunächst mit der --
also: dieser -- Sprache vertraut zu machen.
> Ich suche hier eigendlich nur nach eine bessere Lösung, oder bessere> Ansätze. Vielleicht Hinweise wie man so etwas viel besser unter Python> lösen kann.
Auch solche Hinweise habe ich Dir gegeben, aber sie waren Dir leider zu
hohl. Nun, dann kann ich Dir wohl nicht helfen, schade, das tut mir
leid. Insofern bleibt mir nur noch, meine Zeit nicht weiter zu
verschwenden, und Dir viel Glück bei Deinen weiteren Versuchen zu
wünschen -- ich vermute, daß Du es brauchen wirst.
Jemand schrieb:> Deswegen hatte ich Dir geraten, Dich zunächst mit der -- also: dieser --> Sprache vertraut zu machen.
Bin ich nicht gerade dabei mich mit der Sprache vertaut zu machen.
Jemand schrieb:> Auch solche Hinweise habe ich Dir gegeben, aber sie waren Dir leider zu> hohl.
Das deine Hinweise zum Thema hol sind hab ich nie gesagt. Wenn ich dabei
bin mich vertaut zu machen und jemand sagt ich soll mich erstmal
vertraut machen, das finde ich schon ziemlich hohl.
John Die hat zB. ein super Hinweis gegeben wo ich mich vertaut machen
könnte. Und siehe da mein Projekt ist ein Stück weitergekommen .