Hallo,
ich habe in den Ferien mir überlegt wie ich meinen Roboter verbessern kann. Da bin ich auf die Idee gekommen ihm einfach die alte Com-Port Maus zur besseren Nafiagtion unter dran zu bauen. Nun habe ich dann doch ein Problem bekommen. Wie zeige ich die Daten auf dem Monitor an? Ok ein kleines Terminal Programm gesucht und gefunden und die Maus mal in alle Himmelsrichtungen bewegt. Da kammen die Daten nur so gelflogen auf den Bildschirm. Hab dan überlegt welche der Daten nur für die eine Richtung sind und welche für die Anderen. Hab das Programm umgeschrieben und getestet. Maus gerade aus bewegt und es zeigete auf den Bildschirm eiene Schräge lineie nach unten an. Also mal die Maus geöffnet. Das Rädchen welches für dei Bewegung nach oben zustäandig ist gedreht. Nur das kein anderes (Kugel ist ausgebaut). Und die Linie ging immernoch nach untern rechts. Na gut umprogrammiert wieder getestet aber es geht nicht. Das ganze in VIsual Basic.
Nun meine Frage:
Hat jemand schon so ein Programm geschriegen welches ich verwenden kann? Oder kann mir jemand tipps geben wie ich es machen muss.
Hier noch das Progamm in Visual Basic.Code:Dim n Dim Y1, Y2, X1, X2 Private Sub Check1_Click() If Check1.Value Then DTR 1 Else DTR 0 End Sub Private Sub Check2_Click() If Check2.Value Then RTS 1 Else RTS 0 End Sub Private Sub Command1_Click() CLOSECOM OPENCOM Text1.Text DTR 0 Check1.Value = False RTS 0 Check2.Value = False End Sub Private Sub Command2_Click() Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" End Sub Private Sub Form_Load() OPENCOM "COM2:1200,N,8,1" DTR 0 Check1.Value = False RTS 0 Check2.Value = False Y2 = 50 X2 = 50 End Sub Private Sub Form_Unload(Cancel As Integer) CLOSECOM End Sub Private Sub Text2_Change() If Text2.Text > "" Then Char = Asc(Right$(Text2.Text, 1)) If Char = 10 Then Byt$ = (Right$(Text2.Text, 5)) dat = Val(Byt$) dat = dat And 255 SENDBYTE dat End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) SENDBYTE KeyAscii End Sub Private Sub Timer1_Timer() Y1 = Y2 X1 = X2 Do dat = READBYTE If dat > -1 Then Text3.Text = Text3.Text + Str$(dat) + " " n = n + 1 If n = 8 Then n = 0: Text3.Text = Text3.Text + Chr(13) + Chr(10) Text3.Refresh End If If Str$(dat) = 204 Then Y2 = Y1 + 1 'Daten der Maus If Str$(dat) = 192 Then Y2 = Y1 - 1 ' -"- If Str$(dat) = 192 Then X2 = X1 + 1 ' -"- If Str$(dat) = 195 Then X2 = X1 - 1 ' -"- 'runter 204 hoch 192 rechts 195 links 192 Picture1.Line (X1, Y1)-(X2, Y2) If (dat > -1) And (dat <> 13) And (dat <> 19) Then Text5.Text = Text5.Text + Chr$(dat) End If If dat = 13 Then Text5.Text = Text5.Text + Chr$(13) + Chr$(10) Text5.Refresh End If Loop Until dat = -1 If CTS = 1 Then Check3.Value = 1 Else Check3.Value = 0 If DSR = 1 Then Check4.Value = 1 Else Check4.Value = 0 If DCD = 1 Then Check5.Value = 1 Else Check5.Value = 0 If RI = 1 Then Check6.Value = 1 Else Check6.Value = 0 End Sub
mfg
Michael







Zitieren
Lesezeichen