Hallo,
wieder mal ne Anfängerfrage.
Konkret bastele ich daran, eine Drehknopf der an einem Arduino hängt über VB auszulesen mittels des Serial Ports (USB).
(2x button 2x Combobox 1x Richtextbox)
Kann ich das so machen ?
Insbesondere frag ich mich ob das mit der Sub SerialPort // ReceivedText und dem Delegaten so okay ist leider verstehe ich das Thema nicht, obwohl ich schon einiges gelesen habe.
*Topic verschoben*
wieder mal ne Anfängerfrage.
Konkret bastele ich daran, eine Drehknopf der an einem Arduino hängt über VB auszulesen mittels des Serial Ports (USB).
(2x button 2x Combobox 1x Richtextbox)
Kann ich das so machen ?
VB.NET-Quellcode
- Imports System
- Imports System.ComponentModel
- Imports System.Threading
- Imports System.IO.Ports
- Public Class Form1
- Private myPort As String()
- Private noDevicetxt As String = "No Device found"
- Delegate Sub SetTextCallback(ByVal txt As String)
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.CenterToScreen()
- myPort = IO.Ports.SerialPort.GetPortNames()
- CbxBaud.Items.Add(9600)
- CbxBaud.Items.Add(19200)
- CbxBaud.Items.Add(38400)
- CbxBaud.Items.Add(57600)
- CbxBaud.Items.Add(115200)
- For i = 0 To UBound(myPort)
- CbxPort.Items.Add(myPort(i))
- Next
- CbxPort.Items.Add(noDevicetxt)
- CbxPort.Text = CType(CbxPort.Items.Item(0), String)
- CbxBaud.Text = CType(CbxBaud.Items.Item(0), String)
- BtnDisconnect.Enabled = False
- End Sub
- Private Sub BtnConnect_Click(sender As Object, e As EventArgs) Handles BtnConnect.Click
- If CbxPort.SelectedItem.ToString = noDevicetxt Then
- MessageBox.Show("Please connect Serial Device first! (Connect and restart Programm)")
- Exit Sub
- End If
- SerialPort1.PortName = CbxPort.Text
- SerialPort1.BaudRate = CInt(CbxBaud.Text)
- SerialPort1.Parity = IO.Ports.Parity.None
- SerialPort1.StopBits = IO.Ports.StopBits.One
- SerialPort1.DataBits = 8
- 'Micro Arduino EXTRA UNO ging ohne ''https://www.visualmicro.com/forums/YaBB.pl?num=1431524832 Post Nr.14
- SerialPort1.DtrEnable = True
- SerialPort1.RtsEnable = True
- 'Micro END
- SerialPort1.Encoding = System.Text.Encoding.Default
- SerialPort1.Open()
- SerialPort1.DiscardOutBuffer()
- BtnConnect.Enabled = False
- BtnDisconnect.Enabled = True
- End Sub
- Private Sub BtnDisconnect_Click(sender As Object, e As EventArgs) Handles BtnDisconnect.Click
- SerialPort1.Close()
- BtnConnect.Enabled = True
- BtnDisconnect.Enabled = False
- End Sub
- Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
- Me.Invoke(Sub() ReceivedText(SerialPort1.ReadExisting()))
- End Sub
- Private Sub ReceivedText(ByVal txt As String)
- Me.RtxAusgabe.Text &= txt
- End Sub
- End Class
Insbesondere frag ich mich ob das mit der Sub SerialPort // ReceivedText und dem Delegaten so okay ist leider verstehe ich das Thema nicht, obwohl ich schon einiges gelesen habe.
*Topic verschoben*
codewars.com Rank: 4 kyu
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()