Daten über SerialPort einlesen

Otzelott

Grünschnabel
Hallo,

ich bin noch ein Frischling in Sachen VB. Meine Version ist VB 2005 Express Edition und möchte eine Windows Application erstellen, um Daten über den SerialPort vom yC einzulesen.

Hier ist mal mein Quellcode:

Public Class Form1
Dim Port As New IO.Ports.SerialPort
Dim Daten As Integer
Dim Bytes As Integer
Dim Status As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BT_auslesen.Click
Status = Port.IsOpen
If (Status = False) Then
Port.Open()
End If

Bytes = Port.BytesToRead

While (Bytes > 0)
Daten = Port.ReadByte
TB_auslesen.Text = Daten
Bytes = Port.BytesToRead
TB_Bytes.Text = Bytes
End While
End Sub
End Class


Ich will am Anfang nur mal regelmäßig die Werte einlesen und über eine TextBox ausgeben. Nur leider funktioniert es wie oben programmiert nicht. Er gibt nur Werte aus wenn ich auf den Auslesen-Button drücke.

Welche Möglichkeiten habe ich um ständig Werte einzulesen? :confused:

Danke schonmal führ eure Mühe. :)

Gruß
 
Hallöchen und Willkommen!

Als erstes möchte ich sagen, dass dieses Forum für VB bis Version 6 gedacht ist.
Visual Basic 2005 basiert auf dem .NET-Framework und Fragen dazu gehören in das .NET Forum. :)

Aber ich antworte mal trotzdem:
Wenn du regelmäßig die Daten auslesen möchtest, würde ich einen Timer benutzen.
Code:
Public Class Form1
Dim Port As New IO.Ports.SerialPort
Dim Daten As Integer
Dim Bytes As Integer
Dim Status As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 10000  ' 10 Sekunden
        Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Status = Port.IsOpen
If (Status = False) Then
  Port.Open()
End If

Bytes = Port.BytesToRead

While (Bytes > 0)
  Daten = Port.ReadByte
  TB_auslesen.Text = Daten
  Bytes = Port.BytesToRead
  TB_Bytes.Text = Bytes
End While

End Sub

End Class

In diesem Fall würde er jetzt alle 10 Sekunden die Werte auslesen.

Viele Grüße,
Jacka
 
WOW das gin ja schnell, vielen Dank. Werd ich gleich mal ausprobieren.

Und sry wegen dem Thread im falschen Forum. Dachte es gehört hier rein ;)
 

Neue Beiträge

Zurück