Hallo zusammen wollte über einen casebefehl einen sevo steuern aber irgendwie funktioniert das nicht richtig, weil er sich nicht bewegt (nur in die startposition). $regfile = "m8def.dat" $crystal = 1000000 $baud = 2400 Config Portc.0 = Output Config Portd = Input Config Servos = 1 , Servo1 = Portc.0 , Reload = 10 Enable Interrupts Dim Winkel As Byte Winkel = 15 Servo(1) = Winkel Dim Empfangen As String * 255 Do Empfangen = " " Input Empfangen Select Case Empfangen Case "0" Winkel = 22 Case "1" Winkel = 18 End Select Loop End kann mir bitte einer helfen ? danke
Gast
#3125975
In Deiner Do-Loop Schleife wird kein einziger Steuerbefehl an das Servo ausgegeben. Es werden nur die Eingaben ausgewertet (Case) und die Werte 18 oder 22 an die Variable Winkel zugewiesen. Du musst noch "Servo(1) = Winkel" nach der der Zuweisung der Werte an die Variable einfügen sonst weiß die Funktion Servo(n) = wert ja nicht dass Du was geändert hast.
Stringvergleiche sind so ziemlich die schlechteste Variante ... aber was solls ... wo wird denn Dein Servo neu gesetzt in der Mainloop??
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.