Code für Visual Basic Express 2005: Const COM_PORT As String = "COM9" Dim PufferString As String Private Delegate Sub DelegateSub() Private Datenanzeigen As New DelegateSub(AddressOf Anzeigen) Private Sub Form1Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Load Dim EinzelPort As String Debug.WriteLine("INFO: Folgende Ports wurden auf dem System gefunden:") For Each EinzelPort In My.Computer.Ports.SerialPortNames Debug.WriteLine(EinzelPort) Next EinzelPort With SerialPort1 If Not .IsOpen Then Try '.PortName = COM_PORT '.BaudRate = 57600 '.DataBits = 8 '.WriteTimeout = 2000 ' 1000 ms = 1 Sek. '.ReadTimeout = 2000 ' 1000 ms = 1 Sek. '.Handshake = IO.Ports.Handshake.None '.ReceivedBytesThreshold = 1 .NewLine = vbCr .Open() Debug.WriteLine("Port Open: " & SerialPort1.IsOpen) Catch ex As Exception MessageBox.Show(ex.Message, "Fehler beim Open", _ MessageBoxButtons.OK, MessageBoxIcon.Error) Exit Sub End Try End If End With TextBox1.Multiline = True TextBox1.ScrollBars = ScrollBars.Both End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Button1.Click Try PufferString = "" SerialPort1.WriteLine(TextBox1.Text) Catch ex As Exception MessageBox.Show(ex.Message, "Fehler beim Senden ...") Exit Sub End Try Debug.WriteLine("Daten übermittelt!") TextBox1.Text = "" End Sub Private Sub SerialPort1_DataReceived(ByVal sender As Object, _ ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) _ Handles SerialPort1.DataReceived 'hier Dim response As String Try 'TextBox1.Text = TextBox1.Text & SerialPort1.ReadExisting response = SerialPort1.ReadExisting Debug.WriteLine(response) PufferString &= response If PufferString.EndsWith("]") Then 'event auslösen End If Catch ex As Exception MessageBox.Show(ex.Message, "Fehler beim Empfangen ...") End Try End Sub Private Sub Anzeigen() Label1.Text = PufferString End Sub Private Sub Form1_FormClosing(ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing If SerialPort1.IsOpen Then SerialPort1.Close() ' Port wieder Schließen Debug.WriteLine("Port Open: " & SerialPort1.IsOpen) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Anzeigen() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Try PufferString = "" SerialPort1.WriteLine("XGO") Catch ex As Exception MessageBox.Show(ex.Message, "Fehler beim Senden ...") Exit Sub End Try Debug.WriteLine("Daten übermittelt!") TextBox1.Text = "" End Sub ..und die Eigenschaften: unter serial_port : -DtrEnable auf "True" -RtsEnable auf "True" Gruß Moritz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.