Hallo Forum,
nach der heutigen Registrierung habe ich auch gleich eine Frage zu stellen.
Ich mag übersichtliche Beiträge, deshalb liste ich gleich das Wichtigste auf:
Als Microcontroller verwende ich einen Arduino UNO. Dieser sendet jede 500 Millisekunden "Hallo Welt" in einer neuen Zeile aus.
Serieller Monitor der Arduino-IDE gestartet, alles funktioniert.
Mit untenstehendem Programm in Visual Studio funktioniert das leider nicht so einfach... Ich bin steckengeblieben.
Wenn ich auf den Button "Verbinden" drücke, fängt der Arduino zwar an, Daten auszusenden (das sehe ich an der blinkenden "TX" LED), allerdings blinkt die Status-LED bei Verbindungsaufbau nicht zweimal, wie sie es tut, wenn ich den seriellen Monitor der Arduino-IDE oder jeden anderen seriellen Monitor starte.
Ich poste hier mal den Quellcode:
Der ganze Code ist schon etwas länger geworden als normal... Deshalb liste ich hier nochmal das Wichtigste auf:
Ich verbinde mich mit dem seriellen Port mithilfe des Kommandos , nach vorheriger festlegung des Ports und der BaudRate mithilfe von und .
Der Arduino verbindet sich zwar mit dem Programm, sendet auch Daten aus, aber ich kann Sie
Das bedeuted, der Arduino hat sich zwar mit dem Programm verbunden, aber doch nicht ganz...
Error-Meldungen gibt es natürlich keine, sonst hätte ich das Problem schon gefunden.
Ich bedanke mich schon im Voraus für Hilfe!
HIER gibt es ein Bild des Programms.
nach der heutigen Registrierung habe ich auch gleich eine Frage zu stellen.
Ich mag übersichtliche Beiträge, deshalb liste ich gleich das Wichtigste auf:
- Visual Studio 2015
- VisualBasic
- Windows-Forms Projekt
Als Microcontroller verwende ich einen Arduino UNO. Dieser sendet jede 500 Millisekunden "Hallo Welt" in einer neuen Zeile aus.
Serieller Monitor der Arduino-IDE gestartet, alles funktioniert.
Mit untenstehendem Programm in Visual Studio funktioniert das leider nicht so einfach... Ich bin steckengeblieben.
Wenn ich auf den Button "Verbinden" drücke, fängt der Arduino zwar an, Daten auszusenden (das sehe ich an der blinkenden "TX" LED), allerdings blinkt die Status-LED bei Verbindungsaufbau nicht zweimal, wie sie es tut, wenn ich den seriellen Monitor der Arduino-IDE oder jeden anderen seriellen Monitor starte.
Ich poste hier mal den Quellcode:
Quellcode
- Imports System
- Imports System.IO.Ports
- Public Class ArduinoSerialPort
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- For Each AvailableSerialPorts As String In SerialPort1.GetPortNames()
- ComboBox_SerialPort.Items.Add(AvailableSerialPorts)
- TextBox_BaudRate.Text = "9600"
- TextBox_BaudRate.Enabled = False
- TextBox_ExternalBaudRate.Visible = False
- ComboBox_SerialPort.Text = AvailableSerialPorts
- SerialPort1.DataBits = 8
- SerialPort1.Parity = Parity.None
- SerialPort1.StopBits = StopBits.One
- SerialPort1.Handshake = Handshake.None
- SerialPort1.Encoding = System.Text.Encoding.Default
- SerialPort1.ReadTimeout = 10000
- Button_SerialConnect.Visible = True
- Button_SerialDisConnect.Visible = False
- Next
- End Sub
- Private Sub TrackBar_BaudRate_MouseMove(sender As Object, e As MouseEventArgs) Handles TrackBar_BaudRate.MouseMove
- If TrackBar_BaudRate.Value = "0" Then
- TextBox_BaudRate.Text = "9600"
- TextBox_ExternalBaudRate.Visible = False
- End If
- If TrackBar_BaudRate.Value = "1" Then
- TextBox_BaudRate.Text = "19200"
- TextBox_ExternalBaudRate.Visible = False
- End If
- If TrackBar_BaudRate.Value = "2" Then
- TextBox_BaudRate.Text = "28800"
- TextBox_ExternalBaudRate.Visible = False
- End If
- If TrackBar_BaudRate.Value = "3" Then
- TextBox_BaudRate.Text = "38400"
- TextBox_ExternalBaudRate.Visible = False
- End If
- If TrackBar_BaudRate.Value = "4" Then
- TextBox_BaudRate.Text = "57600"
- TextBox_ExternalBaudRate.Visible = False
- End If
- If TrackBar_BaudRate.Value = "5" Then
- TextBox_BaudRate.Text = "115200"
- TextBox_ExternalBaudRate.Visible = False
- End If
- If TrackBar_BaudRate.Value = "6" Then
- TextBox_BaudRate.Text = "Type in another Baudrate:"
- TextBox_ExternalBaudRate.Visible = True
- End If
- End Sub
- Private Sub Button_SerialConnect_Click(sender As Object, e As EventArgs) Handles Button_SerialConnect.Click
- Dim Port As String
- Dim BaudRate As String
- If Button_SerialConnect.Visible = True Then
- If TextBox_ExternalBaudRate.Visible = False Then
- BaudRate = TextBox_BaudRate.Text
- End If
- If TextBox_ExternalBaudRate.Visible = True Then
- If TextBox_ExternalBaudRate.Text Is "" Then
- BaudRate = "9600"
- End If
- If TextBox_ExternalBaudRate.Text IsNot "" Then
- BaudRate = TextBox_ExternalBaudRate.Text
- End If
- End If
- Port = ComboBox_SerialPort.SelectedItem
- Button_SerialConnect.Visible = False
- Button_SerialDisConnect.Visible = True
- SerialPort1.PortName = Port
- SerialPort1.BaudRate = BaudRate
- TextBox1.Text = Port
- TextBox2.Text = BaudRate
- SerialPort1.Open()
- End If
- End Sub
- Private Sub Button_SerialDisConnect_Click(sender As Object, e As EventArgs) Handles Button_SerialDisConnect.Click
- If Button_SerialDisConnect.Visible = True Then
- If SerialPort1.IsOpen Then
- SerialPort1.Close()
- End If
- Button_SerialConnect.Visible = True
- Button_SerialDisConnect.Visible = False
- End If
- End Sub
- Function ReceiveSerialData() As String
- Dim Incoming As String
- Try
- Incoming = SerialPort1.ReadExisting()
- If Incoming Is Nothing Then
- 'Return "nothing" & vbCrLf
- TextBox_ReceivedMessages.Text = "Received Noting"
- Else
- 'Return Incoming
- TextBox_ReceivedMessages.Text = "Hallo Welt"
- End If
- Catch ex As TimeoutException
- TextBox_ReceivedMessages.Text = "TimedOut"
- End Try
- End Function
- End Class
Der ganze Code ist schon etwas länger geworden als normal... Deshalb liste ich hier nochmal das Wichtigste auf:
Ich verbinde mich mit dem seriellen Port mithilfe des Kommandos , nach vorheriger festlegung des Ports und der BaudRate mithilfe von und .
Der Arduino verbindet sich zwar mit dem Programm, sendet auch Daten aus, aber ich kann Sie
- Mithilfe folgender Anleitung nicht empfangen,
- Der Arduino blinkt mit der Status-LED nicht, wie bei jeder anderen seriellen Verbindung, z.B. durch den seriellen Monitor direkt aus der Arduino-IDE.
Das bedeuted, der Arduino hat sich zwar mit dem Programm verbunden, aber doch nicht ganz...
Error-Meldungen gibt es natürlich keine, sonst hätte ich das Problem schon gefunden.
Ich bedanke mich schon im Voraus für Hilfe!
HIER gibt es ein Bild des Programms.