Ich habe ein Servo am RN-Control angeschlossen.
Es soll beim Start in Mittelstellung fahren und dann per Tastendruck nach rechts(Taste3), in Mittelstellung(Taste2) undnach links (Taste1) fahren.
Beim Start fährt es auch artig in die Mittelstellung, aber wenn ich auf die Tasten drücke passiert nichts.
Kann mir jemand sagen wo der Fehler liegt?
Hier der Code
Code:Declare Function Readbuttons() As Byte Declare Sub Servoleft() Declare Sub Servocenter() Declare Sub Servoright() $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 Config Adc = Single , Prescaler = Auto 'für Tastenabfrage Config Pina.7 = Input 'für Tastenabfrage Porta.7 = 1 Config Porta = Output 'für Servo Config Servos = 1 , Servo1 = Porta.0 , Reload = 10 'für Servo Config Portc = Output 'für LEDs Enable Interrupts Dim Button As Byte Dim I As Byte '*******************Main function************************** Do Portc.0 = 1 Portc.1 = 1 Portc.2 = 1 Portc.3 = 1 Portc.4 = 1 Portc.5 = 1 Portc.6 = 1 Portc.7 = 1 Servo(1) = 95 Portc.1 = 0 Button = Readbuttons() If Button <> 0 Then Select Case Button Case 1 Call Servoleft Case 2 Call Servocenter Case 3 Call Servoright Case 4 Print "keine funktion" Case 5 Print "keine funktion" End Select End If Waitms 100 Loop End '**********************Functions*********************************** Function Readbuttons() As Byte Local Ws As Word Readbuttons = 0 Ws = Getadc(7) Print "ws= " ; Ws If Ws < 1010 Then Select Case Ws Case 400 To 455 Readbuttons = 1 Case 335 To 380 Readbuttons = 2 Case 250 To 305 Readbuttons = 3 Case 180 To 220 Readbuttons = 4 Case 100 To 130 Readbuttons = 5 End Select End If End Function Sub Servoleft() Servo(1) = 45 Portc.0 = 0 Portc.1 = 1 Portc.2 = 1 End Sub Sub Servocenter() Servo(1) = 95 Portc.0 = 1 Portc.1 = 0 Portc.2 = 1 End Sub Sub Servoright() Servo(1) = 145 Portc.0 = 1 Portc.1 = 1 Portc.2 = 0 End Sub







Zitieren

Lesezeichen