mikrocontroller.net

Forum: PC-Programmierung ComPort empfangen - VisualBasic express


Autor: EinSteigÄr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Leute!!


Ich möchte nun ein kleines Programm in Visual Basic 2005 express 
schreiben, welches die COM3-Schnittstelle liest (von meinem µC gesendet, 
Baudrate 9600, 8 Datenbits, keine Parität, 1 Stoppbit), und diese Daten 
in ein Label/TextBox schreiben soll.

Könntet ihr mir helfen? Habe kaum Ahnung von Visual Basic 2005.

Vielen Dank!

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie waere es die Suche zu bedienen?
Imports System.IO.Ports


Public Delegate Sub rxDataDelegate()

Public Class Form1
    Dim WithEvents SerialPort As New SerialPort
    Dim rev(80) As Byte
    Dim cnt_index As Byte

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        If SerialPort.IsOpen Then
            SerialPort.Close()
        End If

        Try
            With SerialPort
                .PortName = "Com4"
                .BaudRate = 9600
                .Parity = Parity.None
                .DataBits = 8
                .StopBits = StopBits.One
            End With
            SerialPort.Open()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try


    End Sub


    REM Private Sub com1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles com1.DataReceived
    REM Dim returnStr As String
    REM returnStr = com1.ReadLine
    REM ReceiveSerialData(returnStr)
    REM End Sub



    Sub SendSerialData(ByVal data As String)
        ' Send strings to a serial port.
        SerialPort.WriteLine(data)
    End Sub


    Private Sub ReceiveSerialData()
        'TextBox1.AppendText(SerialPort.ReadLine)
        rev(cnt_index) = SerialPort.ReadByte
        ListBox1.Items.Add(rev(cnt_index))
        ListBox1.Items.Add(cnt_index)
        cnt_index = cnt_index + 1
    End Sub


    Private Sub serialport_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort.DataReceived, SerialPort1.DataReceived
        TextBox1.Invoke(New rxDataDelegate(AddressOf ReceiveSerialData), New Object() {})
    End Sub


    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'SendSerialData("TestString")
        SendSerialData("hhhh")
    End Sub

   
    Private Sub GetSerialPortNames()
        ' Show all available COM ports.
        For Each sp As String In My.Computer.Ports.SerialPortNames
            ListBox1.Items.Add(sp)
        Next
    End Sub


    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        GetSerialPortNames()
    End Sub


    Private Sub SetuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetuToolStripMenuItem.Click
        GetSerialPortNames()
    End Sub
End Class

Autor: EinSteigÄr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok hat geklappt danke :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.