Hallo, habe da ein kleines Problem, mein schrittmotor programm soll nur ein mal die Anweisung ausführen wen eine Bedingung auf Hi 1 steht aber es fängt immer wieder von vorn an, ist ja klar, die Bedingung ist immer noch auf Hi. Wie nun kann ich am dümmsten es machen das die Anweisung nur ein mal durchläuft auch wen die Bedingung immer noch auf Hi 1 ist, hat da jemand für mich ein Tipp ? MFG Ritzel Do If Abstand = 1 Then Gosub Motor1 Loop Motor1: Motor1_an = 1 Motor1_richtung = 0 For I = 1 To 100 Motor1_takt = 0 : Waitus 1 : Motor1_takt = 1 Waitms 1 Next Motor1_an = 0 Motor1_takt = 0 Return
[basic] Do If Abstand = 1 Then Gosub Motor1 Loop Motor1: If Motor1_laueft = 0 Then Motor1_an = 1 Motor1_richtung = 0 For I = 1 To 100 Motor1_takt = 0 : Waitus 1 : Motor1_takt = 1 Waitms 1 Next Motor1_an = 0 Motor1_takt = 0 Motor1_laueft = 1 Endif Return [/basic]
Am einfachsten machst du es so wie es Stefan beschrieben hat. Er hat noch eine weitere Variable "Motor1_läuft" eingefügt, die nur einmal den Wert '1' erhält und zwar wenn die Motoraktion ausgeführt wurde. Jetzt musst du nur noch nachfragen ob deine Variable den Wert '1' besitzt, bevor du die Aktion ausführst. Damit weißt du dann, ob die Motoraktion schon einmal ausgeführt wurde. Gruß Phil
Hallo Stefan und Phil, wie simpel doch es ist, habe es probiert funktioniert super, Danke. MFG Ritzel
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.