Hallo,
habe ein Programm geschrieben, mit dem ich ein Pyrometer(Temperaturmessgerät) auslesen will.
Bei Click auf den Butten Temperatur wird dem Messgerät ein Byte
geschickt und das Messgerät sendet Bytes (die Temperatur) zurück.
Der Code:
Beim ersten Klick funktioniert alles super und ich erhalte die Temperatur als Hex-String.
Beim 2. Klick jedoch kommt nichts an, der Buffer wo die eingehenden Bytes gespeichert werden ist leer.
Wenn ich das Programm schliesse und wieder ausführe läuft es beim ersten Klick wieder normal und beim 2. wieder nicht.
Hat jemand eine Idee wo das Problem liegen könnte?????
Gruß
habe ein Programm geschrieben, mit dem ich ein Pyrometer(Temperaturmessgerät) auslesen will.
Bei Click auf den Butten Temperatur wird dem Messgerät ein Byte
geschickt und das Messgerät sendet Bytes (die Temperatur) zurück.
Der Code:
VB.NET-Quellcode
- Public Class Form1
- Private Function ByteToHex(ByVal comByte As Byte()) As String
- Dim builder As New StringBuilder(comByte.Length * 3)
- For Each data As Byte In comByte
- builder.Append(Convert.ToString(data, 16).PadLeft(2, "0"c)) _
- '.PadRight(3, " "c))
- Next
- Return builder.ToString().ToUpper()
- End Function
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
- System.EventArgs) Handles Button1.Click
- SerialPort1.Open()
- Dim bufferSenden() As Byte = {&H1}
- SerialPort1.Write(bufferSenden, 0, bufferSenden.Length)
- Dim bytes As Integer = SerialPort1.BytesToRead
- Dim comBuffer As Byte() = New Byte(bytes - 1) {}
- SerialPort1.Read(comBuffer, 0, bytes)
- Threading.Thread.Sleep(60)
- Dim Final As String
- Final = ByteToHex(comBuffer)
- Label1.Text = Final
- SerialPort1.Close()
- End Sub
- End Class
Beim ersten Klick funktioniert alles super und ich erhalte die Temperatur als Hex-String.
Beim 2. Klick jedoch kommt nichts an, der Buffer wo die eingehenden Bytes gespeichert werden ist leer.
Wenn ich das Programm schliesse und wieder ausführe läuft es beim ersten Klick wieder normal und beim 2. wieder nicht.
Hat jemand eine Idee wo das Problem liegen könnte?????
Gruß