Das ständige versenden von Steuerbefehlen konnte mittels
DoEvents beseitigt werde (glaube ich zumindest)
Leider ist das Programm immernoch so langsam, dass der Motor bei einem Notstop immer noch ca. 5 Sekunden weiter läuft. Das ist schlecht und würde im Extremfall den "Treppenrunterfalltod" bedeuten!![]()
Hier ist mal ein Ausschnitt aus dem Programm.Code:Private Sub Timer1_Timer() CheckInput Timer1.Enabled = False Timer1.Interval = 250 Dim Schleife& Timer1.Enabled = True DoEvents For Schleife = 1 To Timer1.Interval If Schleife = Timer1.Interval Then If X = 1 Then SendBefehl "#rma" & Chr(0), "Ok" 'Motor ausschalten ElseIf X = 2 Then SendBefehl "#rmo" & Chr(0), "Ok" 'Motor einschalten Else End If End If Next Schleife End Sub
An einer anderen Stelle im Programm (DInputModul) wird mittels Case Entscheidung festgelegt wie groß der X-Wert ist.
Vielleicht ist das ja nicht die tollste Lösung, vor allem weil der Timer1 eigentlich den Abfrageintervall für das Auslesen der Joystickachsen festlegt. Aber ich habe auch schon einen zweiten Timer (Timer2) angelegt und wollte dort die Schleife reinpacken. Dort ist nichts passiert.Code:Select Case dblX Case 0 To 10000 X = 1 Case 10001 To 20000 X = 2 Case 20001 To 30000 X = 3 End Select
Wenn sich das Problem mit der Zeitverzögerung lösen lässt, dann kann jeder (der einen Joystick hat) ganz einfach das Programm für seine Bedürfnisse abändern.
BITTE HELFT MIR
gruß Devastator







Zitieren

Lesezeichen