für was steht überhaupt das End If? weil wenn ich dies weg mache, dann meldet er mir den gleichen Fehler
hallo ich wollte machen, wenn ich die 2 drücke soll der Servo weiter nach rechts fahren, wenn ich die 8 drücke soll er weiter nach links fahren. Doch er meldet mir immer einen Fehler in Line 53 (also in der letzten Zeile) und der Servo fährt bis auf Anschlag nach links.
Code:$regfile = "m32def.dat" $crystal = 8000000 $baud = 9600 Config Keyboard = Pinb.0 , Data = Pinb.1 , Keydata = Keydata Config Servos = 1 , Servo1 = Portc.7 , Reload = 10 Config Portc = Output Enable Interrupts Dim Key As Byte Dim I As Byte I = 120 Servo(1) = I Print "Test" Do Key = Getatkbd() If Key <> 0 Then Print "Taste " ; Chr(key) ; "I =" ; I End If If Key = 8 Then I = I + 10 If Key = 2 Then I = I + 10 Loop End Keydata: Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0 Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0 Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0 Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0 Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0 Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0 Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0 Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0 Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0 Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0 Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0 Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0 Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0 Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
für was steht überhaupt das End If? weil wenn ich dies weg mache, dann meldet er mir den gleichen Fehler
das mit links recht funktioniert jetzt schon. doch ich muss die tasten immer 2 mal drücken damit ich ein Ergebnis bekomme. was muss ich da noch ändern?
Do
Servo(1) = I
Key = Getatkbd()
If Key = 56 Then
Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I
I = I + 1
End If
Key = Getatkbd()
If Key = 50 Then
Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I
I = I - 1
End If
Loop
GetatKybd wartet, bis eine Taste gedrückt wird.
Wenn also NICHT 56, dann liest er nochmal.
Vorschlag:
Gleichzeitig 50 + 56 kannst du eh nicht drückenCode:do Key = Getatkbd() If Key = 56 Then Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I I = I + 1 End If If Key = 50 Then Print "Taste " ; Chr(key) ; " (" ; Key ; ")" ; " I=" ; I I = I - 1 End if loop
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Danke es funktioniert
kann man das Warten nicht unterbrechen, oder nur eine Taste abfragen, und dann mit dem Programm weiter machen? is ja nicht besonders gut wenn dann gleich dass Programm stehen bleibt.
hallo
sorry das ich diesen alten theard nochmal raushole.
Aber ich beschäftige mich erst kurz damit.
Könnte mir jemand helfen und sagen was ich alles brauch um 4 Servos per tastatur zu steuern
4 servos, ne tastatur...
Und nen MC
Kabel!
Vielleicht Stecker und noch eine Stromversorgung.
Und natürlich die Servobefehle von Bascom
Alle sagten: "Das geht nicht!" Dann kam einer, der wusste das nicht und hat´s gemacht
hallo also ich habe einen Atmega 32 eine alte PS2 Tastatur und 16 Servos. Die kann ich alle per tastatur steuern. Mehr brauchst du dazu nicht.
Lesezeichen