Hi,
ich habe ein Programm mit Visual Basic geschrieben, um meinen Roboter mit einem Joystick zu steuern. Dabei habe ich mich an dem Beispiel aus dem RN-Wissen orientiert. Mit dem Programm steuer ich das RN-MotorControl an. Leider funktioniert das Programm manchmal nicht. Dann reagieren die Motoren erst verzögert auf die Joystick-bewegung oder gar nicht. Hier ist ein Teil aus meinem Programm:
Code:
 Dim Z As String
        Z = state.Z

        If Z > 5 Then
            SerialPort1.Write("##")
            SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
            SerialPort1.Write(Chr(5)) 'Befehlscode Drehrichting
            SerialPort1.Write(Chr(1)) 'Rechter Motor
            SerialPort1.Write(Chr(0)) 'Geschwindigkeit

            SerialPort1.Write("##")
            SerialPort1.Write(Chr(3))  'Anzahl der folgenden Bytes
            SerialPort1.Write(Chr(2)) 'Befehlscode Leistung
            SerialPort1.Write(Chr(1)) 'Rechter Motor
            SerialPort1.Write(Chr(Z)) 'Geschwindigkeit
        ElseIf Z < -5 Then
            SerialPort1.Write("##")
            SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
            SerialPort1.Write(Chr(5)) 'Befehlscode Drehrichting
            SerialPort1.Write(Chr(1)) 'Rechter Motor
            SerialPort1.Write(Chr(1)) 'Geschwindigkeit

            SerialPort1.Write("##")
            SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
            SerialPort1.Write(Chr(2)) 'Befehlscode Leistung
            SerialPort1.Write(Chr(1)) 'Rechter Motor
            SerialPort1.Write(Chr(Z * -1)) 'Geschwindigkeit
        ElseIf 2 > Z > -2 Then
            SerialPort1.Write("##")
            SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
            SerialPort1.Write(Chr(2)) 'Befehlscode Leistung
            SerialPort1.Write(Chr(1)) 'Rechter Motor
            SerialPort1.Write(Chr(0)) 'Geschwindigkeit
        End If

    End Sub


Wie kann man z.B das in eine Zeile schreiben?
SerialPort1.Write("##")
SerialPort1.Write(Chr(3)) 'Anzahl der folgenden Bytes
SerialPort1.Write(Chr(5)) 'Befehlscode Drehrichting
SerialPort1.Write(Chr(1)) 'Rechter Motor
SerialPort1.Write(Chr(0)) 'Geschwindigkeit


Bitte gebt mir Vorschläge wie man das Programm verbessern kann.