vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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
Re: Geschwindigkeitsmessung über RS232 - Schnittstelle 
Autor: Volker Bunge
Datum: 21.05.13 18:54

P. S. Hier nun mein bisheriger Code

Public Class Form1
 
    Private ByteIn(255) As Byte
    Private count, bytesImBuffer As Integer
    Private angeforderteBytes As Integer = 10
    Private comOpen, Datenfehler As Boolean
 
    Private _Encoding As System.Text.Encoding
    Public Zeit As Integer
    Public Sub New()
        InitializeComponent()
        _Encoding = System.Text.Encoding.Default  ' oder die entsprechende 
        ' CodePage des Senders
    End Sub
 
    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As _
      System.IO.Ports.SerialDataReceivedEventArgs) Handles _
      SerialPort1.DataReceived
        'Dim ToRead As Integer = SerialPort1.BytesToRead
        Dim ToRead As String = SerialPort1.ReadLine
        COMPortDaten.Text = ToRead
        If ToRead <> "" Then
            'Neu empfangene Zeichen an die Empfangspuffer anhängen
            Dim Buffer(ToRead - 1) As Byte
            SerialPort1.Read(Buffer, 0, ToRead)
            COMPortDaten.Text &= _Encoding.GetString(Buffer)
        End If
    End Sub
 
    Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As _
      System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        SerialPort1.Close()
    End Sub
 
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles Me.Load
        TxtBaudRate.Items.Add("2400")
        TxtBaudRate.Items.Add("4800")
        TxtBaudRate.Items.Add("9600")
        TxtBaudRate.Items.Add("19200")
        TxtBaudRate.Items.Add("57600")
        TxtBaudRate.Items.Add("115200")
 
        ' Start-Baudrate festlegen
        TxtBaudRate.Text = 9600
 
        Verbinden.Enabled = True
        Trennen.Enabled = False
 
        Zeit = 0
        Call LED_Grau()
    End Sub
 
    Public Sub updateData()
        For i As Integer = 0 To angeforderteBytes - 1
 
            count += 1
            Dim _str = String.Format("{0} >> {1:X}", count, ByteIn(i))
            listBox1.Items.Add(_str)
 
        Next
    End Sub
 
 
    Private Sub Verbinden_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Verbinden.Click
        Call Verbindung_herstellen()
    End Sub
 
    Private Sub Trennen_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Trennen.Click
        Call Verbindung_trennen()
    End Sub
 
    Private Sub TxtBaudRate_SelectedIndexChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles TxtBaudRate.SelectedIndexChanged
        Call Verbindung_trennen()
        Call Verbindung_herstellen()
    End Sub
 
    Sub Verbindung_herstellen()
        SerialPort1.Close()
        SerialPort1.PortName = TxtPortName.Text 'Name der RS-232 festlegen.
        SerialPort1.Handshake = IO.Ports.Handshake.None 'Kein Handshake
        BaudRateAlt.Text = SerialPort1.BaudRate
        SerialPort1.BaudRate = TxtBaudRate.Text 'Übertragungsrate
        BaudRateNeu.Text = SerialPort1.BaudRate
        SerialPort1.Parity = IO.Ports.Parity.None 'Keine Paritätsprüfung
        SerialPort1.DataBits = 8 '8 Datenbits
        SerialPort1.StopBits = IO.Ports.StopBits.One '1 Stoppbit
        SerialPort1.RtsEnable = False 'RTS-Signal deaktivieren
        SerialPort1.DtrEnable = False 'DTR-Signal deaktivieren
 
        SerialPort1.Open() 'Seriellen Port mit den Einstellungen
        comOpen = SerialPort1.IsOpen
        Verbinden.Enabled = False
        Trennen.Enabled = True
        Call LED_Grün()
        Zeit = 0
        'Timer1.Start()
    End Sub
 
    Sub Verbindung_trennen()
        Verbinden.Enabled = True
        Trennen.Enabled = False
        SerialPort1.Close()
        Call LED_Rot()
        Timer1.Stop()
    End Sub
 
    Sub LED_Rot()
        LEDAnzeige.Image = CType(My.Resources.Roter_Kreis, Image)
    End Sub
 
    Sub LED_Grün()
        LEDAnzeige.Image = My.Resources.Grüner_Kreis
    End Sub
 
    Sub LED_Grau()
        LEDAnzeige.Image = My.Resources.Grauer_Kreis
    End Sub
 
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Geschwindigkeitsmessung über RS232 - Schnittstelle1.047Volker Bunge21.05.13 18:53
Re: Geschwindigkeitsmessung über RS232 - Schnittstelle669Volker Bunge21.05.13 18:54

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