Hallo!

Habe folgendes Problem. Möchte mit dem Terminalprogramm von Bascom 2 Servos ansteuern. Z.b. sende ich für den rechten Servo "r122" bzw. für den linken "l233" und empfange ihn im Atmel als String. Der Buchstabe steht für rechts oder links und die Zahl für die jeweilige Servoposition. Der String wird auseinander genommen und in einem if-then-Algorithmus die Servoposition zum jeweiligen Servo übermittelt. Ein Programm ist auch schon geschrieben, nur funktioniert es nicht. Die Servos zuckeln ständig sobald ich nur eine Taste drücke. Kann mir bitte jemand helfen, den Fehler im Code zu finden?
Hier mein Code:
Code:
$regfile "m32def.dat"
$crystal = 16000000
$baud = 9600

Config Pinc.0 = Output
Config Pinc.1 = Output

Dim A As Byte
Dim B As String * 4
Dim C As String * 1
Dim D As String * 3

On Urxc Onrxd
Enable Urxc
Enable Interrupts

Config Servos = 2 , Servo1 = Portc.0 , Servo2 = Portc.2 , Reload = 8

A = 128

Servo(1) = A
Servo(2) = A

' ---------------------------------------------
Do
  If Len(b) = 4 Then
    C = Left(b , 1)
    D = Right(b , 3)
    If C = "L" Then Servo(1) = D                            ' Servo1 = links
    If C = "R" Then Servo(2) = D                            ' Servo2 = rechts

    Print B
    B = ""

  End If

Loop
End

' ---------------------------------------------
Onrxd:
  B = B + Chr(udr)
Return
Gruß
Charly