-
-
Ich benutze transceiver in halbduplex-technik. Trotzdem kann ich mir nicht vorstellen, das es daran liegt. Die Ausgabe der eingelesenen Zeichen habe ich nähmlich erst später, nachdem ich das Problem festgestellt habe eingebunden. Erst habe ich lediglich bei jeder Eingabe von z.B. einer 1 einen Servo um einen Schritt nach links bewegt, was allerdings eben aufgrund der verlorenen Zeichen nur sehr stockend möglich war.
Da fällt mir noch ein, das ich jetzt noch die Zeile ENABLE URXC ins Programm eingefügt hab, weils ichs woanders gesehen habe. Kanns vielleicht auch daran liegen, das es jetzt geht - ich weiß garnicht, was die Anweisung bewirkt?
Na ja - kann ich ja auch gleich ausprobieren...
Hier ist übrigens mein Testprogramm:
$regfile = "m16def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 10
$framesize = 40
$baud = 19200
Dim Taste As Byte
Dim B As Byte
Dim E As Byte
Dim Servo_vorgabe_h As Byte
Dim Servo_vorgabe_v As Byte
Dim Key_input As Byte
Config Servos = 2 , Servo1 = Portb.2 , Servo2 = Portb.3 , Reload = 10
Config Serialin = Buffered , Size = 20
Config Portb.2 = Output
Config Portb.3 = Output
Enable Urxc
Enable Interrupts
Waitms 100
Open "comb.0:9600,8,n,1" For Output As #1
Servo_vorgabe_h = 85
Servo_vorgabe_v = 96
Sart_main_loop:
Print " Testbeginn!"
Print
Do
Waitms 50
Taste = Ischarwaiting()
If Taste = 1 Then
Key_input = Inkey()
End If
If Key_input = 49 And Servo_vorgabe_h >= 1 Then
Servo_vorgabe_h = Servo_vorgabe_h - 1
End If
If Key_input = 50 And Servo_vorgabe_h <= 250 Then
Servo_vorgabe_h = Servo_vorgabe_h + 1
End If
If Key_input = 51 And Servo_vorgabe_v >= 1 Then
Servo_vorgabe_v = Servo_vorgabe_v - 1
End If
If Key_input = 52 And Servo_vorgabe_v <= 250 Then
Servo_vorgabe_v = Servo_vorgabe_v + 1
End If
If Key_input > 0 Then
Print Servo_vorgabe_h;
Print ", ";
Print Servo_vorgabe_v
Print
End If
Key_input = 0
Servo(1) = Servo_vorgabe_h
Servo(2) = Servo_vorgabe_v
Loop Until Inkey() = 48
Start_test2:
Print "Test2!"
Print
Do
Print
Print "H = ";
Input Servo_vorgabe_h
If Servo_vorgabe_h > 0 Then Servo(1) = Servo_vorgabe_h
Print "V = ";
Input Servo_vorgabe_v
Servo(2) = Servo_vorgabe_v
Print
Print "Daten gesendet!"
Loop Until Servo_vorgabe_h = 0
Goto Sart_main_loop
Close #1
End
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen