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 ?
Lesezeichen