Guten Tag,
ich versuche gerade mittels Visual Basic Application einen Microcontroller zu steuern.
Das senden von Daten funktioniert bereits hervorragend, beim Empfangen treten allerdings einige Probleme auf.
Habe mich auch schon durch einige Seiten und Beiträge, sogar Beispiellösungen gekämpft, doch bin bisher zu keinem Ergebnis gekommen.
In einer Konsolenanwendung kriege ich das Empfangen auch zum Laufen, bei einer Application scheitert es dann allerdings leider.
Stütze mich beim Empfangen auf diesem Beispielcode: Klick mich!
Ich poste einfach mal direkt dazu meinen Code:
Also wie gesagt, senden funktioniert einwandfrei, beim Empfangen von Daten passiert allerdings gar nichts.
Hoffe jemand weiß Rat.
Mit freundlichen Grüßen,
Morgy
ich versuche gerade mittels Visual Basic Application einen Microcontroller zu steuern.
Das senden von Daten funktioniert bereits hervorragend, beim Empfangen treten allerdings einige Probleme auf.
Habe mich auch schon durch einige Seiten und Beiträge, sogar Beispiellösungen gekämpft, doch bin bisher zu keinem Ergebnis gekommen.
In einer Konsolenanwendung kriege ich das Empfangen auch zum Laufen, bei einer Application scheitert es dann allerdings leider.
Stütze mich beim Empfangen auf diesem Beispielcode: Klick mich!
Ich poste einfach mal direkt dazu meinen Code:
VB.NET-Quellcode
- Imports System.IO.Ports
- Public Class main
- Dim mySerialPort As New SerialPort("COM3")
- Dim inputData As String = ""
- Public Event DataReceived As SerialDataReceivedEventHandler
- Private Sub main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- mySerialPort.BaudRate = 9600
- mySerialPort.Parity = Parity.None
- mySerialPort.StopBits = StopBits.One
- mySerialPort.DataBits = 8
- mySerialPort.Handshake = Handshake.None
- End Sub
- Public Sub b_connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_connect.Click
- If b_connect.Text = "Verbinden" Then
- mySerialPort.Open()
- b_send.Enabled = True
- b_connect.Text = "Verbindung trennen"
- Else
- mySerialPort.Close()
- b_send.Enabled = False
- b_connect.Text = "Verbinden"
- End If
- End Sub
- Private Sub b_send_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_send.Click
- If tb_input.Text <> "" Then
- sendData(tb_input.Text)
- End If
- End Sub
- Public Sub sendData(ByVal data As String)
- mySerialPort.Write(data)
- End Sub
- Private Sub mySerialPort_DataReceived(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
- inputData = mySerialPort.ReadExisting
- Me.Invoke(New EventHandler(AddressOf DoUpdate))
- End Sub
- Public Sub DoUpdate()
- tb_output.Text = inputData
- l_income.Text = l_income.Text + 1
- End Sub
- End Class
Also wie gesagt, senden funktioniert einwandfrei, beim Empfangen von Daten passiert allerdings gar nichts.
Hoffe jemand weiß Rat.
Mit freundlichen Grüßen,
Morgy