Hab jetzt mal bei der TextBox noch ne Variable zwischen gepackt.
Die .BytesToRead() verwende ich ja bereits in Verbindung mit einem TimerIntervall.
Hier noch mal der Aktuelle Code:
VB
BascomCode:Public Class Form1 Dim Text As String Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated Me.InitializeComponent() SerialPort1.Open() End Sub Private Sub cmdEingabe1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdEingabe1.Click SerialPort1.BaseStream.WriteByte(1) End Sub Private Sub cmdEingabe2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdEingabe2.Click SerialPort1.BaseStream.WriteByte(2) End Sub Private Sub cmdEingabe3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdEingabe3.Click SerialPort1.BaseStream.WriteByte(3) End Sub Private Sub cmdReset_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdReset.Click SerialPort1.BaseStream.WriteByte("r") End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If SerialPort1.BytesToRead > 0 Then Do Text = SerialPort1.ReadByte txtAnzeige.AppendText(Text) txtAnzeige.ScrollToCaret() If SerialPort1.BytesToRead = 0 Then Exit Do End If Loop End If End Sub End Class
Habe jetzt mal noch eine LED mit eingebaut um zu sehen ob der Eingangsbefehl auch ankommt.Code:$prog , 255 , &B11011001 , 'Quarz an / Teiler aus / Jtag aus $regfile = "m2560def.dat" $hwstack = 82 '80 $framesize = 68 ' 64 $swstack = 68 '44 $crystal = 16000000 'Quarzfrequenz Config Pind.5 = Output Led Alias Portd.5 Config Pine.5 = Input USB Alias Pine.5 'Ist 1 wenn USB angeschlossen Config Com4 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Open "com4:" For Binary As #4 'USB Buchse Dim A As Byte Do A = Waitkey() Waitms 20 If A > 0 Then Select Case A Case 49 'Das ist der ASCII Code für Taste "1" Led = 1 Waitms 200 Led = 0 Print #4 , "Taste 1 wurde gedrückt!" Case 50 'Das ist der ASCII Code für Taste "2" Led = 1 Waitms 200 Led = 0 Waitms 100 Led = 1 Waitms 200 Led = 0 Print #4 , "Taste 2 wurde gedrückt!" Case 51 'Das ist der ASCII Code für Taste "3" Print #4 , "Taste 3 wurde gedrückt!" Case 114 'Das ist der ASCII Code für Taste "r" Print #4 , "Reset..." Goto 0 End Select End If Loop End
Was ich nicht ganz bei dem Basecom verstehe , ich schreibe den Wert den ich von Waitkey() bekomme in A und springe dann je nach Wert in die entsprechenden Case. Nur steht im Testprogramm
Aber der ASCII für 1 ist doch 0x31 oder ?Code:Case 49 'Das ist der ASCII Code für Taste "1"







Zitieren

Lesezeichen