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

Code:
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
Bascom
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
Habe jetzt mal noch eine LED mit eingebaut um zu sehen ob der Eingangsbefehl auch ankommt.

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
Code:
Case 49                                               'Das ist der ASCII Code für Taste "1"
Aber der ASCII für 1 ist doch 0x31 oder ?