Tasten reagieren nicht (gelöst)
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