Hallo,
ich hab ein Problem, ich will meine Joystick Achsdaten in verträglich werte uwandeln und dan per call an meine send methode übergeben. Die Umwandlung hab ich soweit nur sobald ich versuche meine Send-Methode zu Callen wird mein Programm extrem verlangsammt zw. es hängt sich auf.
Die Joystick Achswert bekomme ich per Directinput als integer -32767 bis 32767
ich wandel dann den Wert in -4 bis 4 um
frage dan ab ob der wert größer oder kleiner 0 ist
wenn er kleiner 0 ist wird der Wert mi -1 Multipliziert und zusätlich eine Integer-Variable auf 1 gesetzt, siehe Code
So jetzt möchte ich die Fahtrichtungs angabe und Die Fahrstufen aber gerne an fogenden Code Callen:
Der versuch es so zu schreiben:
ist übrigend gecheitert.
ich hab ein Problem, ich will meine Joystick Achsdaten in verträglich werte uwandeln und dan per call an meine send methode übergeben. Die Umwandlung hab ich soweit nur sobald ich versuche meine Send-Methode zu Callen wird mein Programm extrem verlangsammt zw. es hängt sich auf.
Die Joystick Achswert bekomme ich per Directinput als integer -32767 bis 32767
ich wandel dann den Wert in -4 bis 4 um
frage dan ab ob der wert größer oder kleiner 0 ist
wenn er kleiner 0 ist wird der Wert mi -1 Multipliziert und zusätlich eine Integer-Variable auf 1 gesetzt, siehe Code
Code:
Private Sub Timer1_Timer()
' --- Integer Wert -32767 bis 32767 in -4 bis 4
intXWert_new = intJoyXWert /8192
If intXWert_new > 0 then
intFahrStufe = intXWert
intFahrRichtung = 0
Elseif intXWert_new < 0 then
intFahrStufe = intXWert * (-1)
intFahrRichtung = 1
Elseif intXWert_new = 0 then
intFahrStufe = 0
End If
End Sub
So jetzt möchte ich die Fahtrichtungs angabe und Die Fahrstufen aber gerne an fogenden Code Callen:
Code:
Public Sub sendFS_128()
' --- sendet den Fahrbefehl zu Zentrale
' --- akt. Adresse einlesen
int Adr = Val(txtAdresse.Text)
' --- Befehl hat die Syntax:
' --- XL Adresse, Fahrstufe, Licht, Fahrtrichtung, F1, F2, F3, F4
' --- und wird nun 'zusammengebaut'
Dummy = "XL" & intAdr & "," _
& intFahrStufe & "," _
& intLicht & "," _
& intFahrRichtung & "," _
& intF1 & "," _
& intF2 & "," _
& intF3 & "," _
& intF4 & vbCr
' --- Senden...
ComPort.Output = Dummy
Debug.Print Dummy
End Sub
Der versuch es so zu schreiben:
Code:
Private Sub Timer1_Timer()
' --- Integer Wert -32767 bis 32767 in -4 bis 4
intXWert_new = intJoyXWert /8192
If intXWert_new > 0 then
intFahrStufe = intXWert
intFahrRichtung = 0
Call sendFS_128
Elseif intXWert_new < 0 then
intFahrStufe = intXWert * (-1)
intFahrRichtung = 1
Call sendFS_128
Elseif intXWert_new = 0 then
intFahrStufe = 0
Call sendFS_128
End If
End Sub
Zuletzt bearbeitet: