vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Hyperterminal schreiben - Anlaufschwierigkeiten 
Autor: Muraer
Datum: 10.11.06 22:23

Hallihallo zusammen,

ich bin noch relativ neu im VB-Business.
Normalerweise beschäftige ich mich mit Elektronik und Mikrocontrollern.
Als Literatur fürs VB hab ich mir "jetzt lerne ich VB" besorgt und da schon einiges zusammengearbeitet.

Nun möchte ich zum Anfang ein kleines Hyperterminal schreiben. Sprich, ich möchte die serielle Schnittstelle nutzen, um mit meinen Controllern zu kommunizieren. Controllerseitig funktionier alles, es hängt jetzt nur noch am VB fest...
Das Hyperterminal soll einfach ankommende Daten der seriellen Schnittstelle anzeigen, und es ermöglichen, einzelne Daten an die serielle Schnittstelle zu senden.

Hier ist mein Code bis jetzt:

Public Class Form1 
Sub SendSerialData(ByVal data As String) 
Using com1 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("COM1", 9600, IO.Ports.Parity.None, 8, 1)
 
com1.Write(data)
End Using
End Sub
 
Function ReceiveSerialData() As String 
' Receive strings from a serial port.
Dim returnStr As String = ""
 
Using com1 As IO.Ports.SerialPort = _
My.Computer.Ports.OpenSerialPort("COM1")
Do
Dim Incoming As String = com1.ReadLine()
If Incoming Is Nothing Then
Exit Do
Else
returnStr &= Incoming & vbCrLf
End If
Loop
com1.Close()
End Using
 
Return returnStr
End Function
 
Private Sub Form1_Load (ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles MyBase.Load
 
Dim Empfangenes As String
Dim Returnstr As String = ""
 
 
Do
 
 
ReceiveSerialData()
Empfangenes = Returnstr
If Returnstr = "" Then
TextEmpfang.Text = "nichts Empfangen"
Else
TextEmpfang.Text = Returnstr
 
End If
 
 
 
 
 
 
Loop
End Sub
 
Private Sub TextEmpfang_TextChanged (ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles TextEmpfang.TextChanged
 
End Sub
 
Private Sub ButtSenden_Click (ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles ButtSenden.Click
Dim Senden As String
Senden = TextEingabe.Text
SendSerialData(Senden)
End Sub
 
Private Sub ButtLöschen_Click (ByVal sender As System.Object, ByVal e As _
  System.EventArgs) Handles ButtLöschen.Click
TextEmpfang.Text = ""
 
End Sub
End Class
Wie man sieht, gibt es 2 Buttons, einen um das Eingangs-Textfeld zu löschen, und einen, um eingegebenen Text zu senden.

In der Hauptschleife wird einfach ständig die Com-Schnittstelle gepollt, um zu sehen, ob was reingekommen ist. Falls ja, soll es angezeigt werden.

Nun meine Fragen:
Sollte der obige Code funktionieren?
Falls nein, was muss geändert werden?

Wenn ich das .Exe File des obigen Codes auf einem XP-Rechner mit einer seriellen Schnittstelle (Com1) ausführe, dann wird mir der Zugriff verweigert (XP-Firewall ist aus). Mit anderen Terminalproggis komm ich problemlos an die Serielle. Wie kann ich dies ändern?

Braucht ihr noch sonstige Daten?

Herzlichen Gruss und vielen Dank

Mario
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Hyperterminal schreiben - Anlaufschwierigkeiten806Muraer10.11.06 22:23

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel