vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
SerialPort - Bytes lesen 
Autor: Asami
Datum: 07.07.06 19:15

Grüß Euch!

Ich habe ein Problem mit meinem Code. Für's Verständnis vorweg:
Ich frage über eine serielle Schnittstelle (mit SerialPort.BaseStream.Write) aktuelle Werte ab (eigentlich ist das Quellformat des Starttelegramms im HEX-Format, musste HEX jedoch in DEZ umwandeln, da sonst nix verstanden wird).
Wenn ich dann das Starttelegramm mit der Funktion zum auslesen gesendet habe, bekomme ich die entsprechende Antwort ebenfalls als HEX. Zum testen hab ich mir eine TextBox genommen um zu kontrollieren, ob die Antwort korrekt empfangen wurde.
Eine Antwort bekomme ich zwar, jedoch sind das nur Nullen!

Hier mal der Quelltext:

    Dim buf As Byte
    Private TextboxAktualisieren As New DelegateSub(AddressOf Wertübergabe)
 
 
    Private Sub SerialPort_DataReceived(ByVal sender As Object, ByVal e As _
      System.IO.Ports.SerialDataReceivedEventArgs) Handles _
      SerialPort.DataReceived
        For i As Integer = 0 To SerialPort.BytesToRead   ' Alle Bytes einzel 
        ' lesen und anzeigen
            Try
                Dim buf As Byte() = {SerialPort.BaseStream.ReadByte}
                Me.Invoke(TextboxAktualisieren)
 
            Catch ex As Exception
                MessageBox.Show("Ein Übertragungsfehler ist aufgetreten.", _
                  "Fehler", MessageBoxButtons.OK)
            End Try
        Next i
 
    End Sub
 
 
    Public Sub NamenStart()
        With SerialPort
            Dim FomTest As Byte() = {85, 32, 5, 21, 0} 'HEX 0x55 0x20 0x05 0x15 
            ' 0x00
 
            If .IsOpen Then
                .BaseStream.Write(FomTest, 0, 5)
                Return
            Else
                MsgBox(InfoPortClosed + .PortName, MsgBoxStyle.Critical)
            End If
        End With
    End Sub
 
 
 
    Private Sub Wertübergabe()
        TextBox1.AppendText(buf)
    End Sub
Button zum Start des Ganzen und die Textbox zur Anzeige sind logischerweise vorhanden, ebenso die Funktion zum Aufbau der ser. Verbindung.

Bei der Gelegenheit würde ich auch gerne wissen, ob es eine einfache Möglichkeit gibt, HEX in DEZ umzuwandeln, sodass ich es Global einfach anwenden kann.

MfG!
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SerialPort - Bytes lesen1.737Asami07.07.06 19:15
Re: SerialPort - Bytes lesen915GPM08.07.06 00:59
Re: SerialPort - Bytes lesen891viperbone08.07.06 07:09

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel