DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: VB.NET | Thema: ComPort Daten werden beim lesen abgeschnitten | Von: mirmi li ( 10.03.2005 14:11)

Hallo :)

Bin Neuling in Sachen Com Port Programmierung und hab mal wieder ein paar Fragen ...

Kurz eine Beschreibung meiner Kommunikation:
Habe ein Gerät an einem Com Port hängen. In meinem Prog hab ich ein Frame mit Einigen Buttons und einer TextBox um
den Port zu testen und abzufragen.

Jetzt zu meinem 1. Problem: Wenn ich dem Gerät einen Befehl schicke (egal welchen), kommt die richtige Antwort an,

nur leider unvollständig.
D.h. Eigentlich sind nur die Antworten betroffen die mehr als 2 Zeichen (und 2 Abschlusszeichen "Wagenrücklauf" und
"LineFeed") lang sind. Dabei wird eine unbestimmte Anzahl von Buchstaben vorne abgeschnitten. Zumindest das letzte
Zeichen der Antwort (ein LineFeed) wird immer angezeigt.
Schicke ich aber per ButtonClick den Befehl öffter zum Gerät, bekomme ich die Antwort irgendwann vollständig.
Habe die Kommunikation bereits übers Hyperterminal getestet. Das Hyperterminal ist natürlich schlauer als mein Prog

und schafft es jedesmal die vollständige Antwort auszugeben.
Also muss es an meinem Prog liegen. Wie kann ich diese "Datensammlung" sicherstellen?

Mein 2. Problem liegt bei den mit jeder Zeile mitgelieferten Zeichen "Wagenrücklauf" und "LineFeed". Ich muss die

Antwort an diesen Zeichen trennen und in Variablen abspeichern. Kann ich das mit dem String.Split-Methode lösen?
Und wie lauten die VB Code tauglichen Bezeichnungen für "Wagenrücklauf" und "LineFeed"?

Noch eine 3. Kleinigkeit. Ich möchte bei einer Integer-Variable feststellen, ob Sie einen Wert zugewiesen hat, oder

nicht. Wie mache ich das? intVariable = "" funzt hier nicht :(

Fragen über Fragen ;)
Ich danke vorab fürs weiterhelfen :)
mirmi

Anbei noch mein Code:
(Die variable intComPort wird an anderer Stelle belegt)

Private Sub cmdPortOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPortOpen.Click
'ComPort öffnen
comcom.CommPort = intComPort
comcom.PortOpen = True
End If
End Sub

Private Sub cmdReadParams_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

cmdReadParams.Click
'Parameter auslesen mit PR
comcom.Output = "PR" & vbCr
End Sub

Private Sub cmdReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdReset.Click
'Reset anfordern mit RS
comcom.Output = "RS" & vbCr
End Sub

Private Sub cmdReadValues_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

cmdReadValues.Click
'Ausgabe der Durchnittswerte mit AV anfordern
comcom.Output = "AV" & vbCr
End Sub

Private Sub cmdSimON_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimON.Click
'Simulationsmodus einschalten mit SM
comcom.Output = "SM1" & vbCr
End Sub

Private Sub cmdSimOF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimOF.Click
'Simulationsmodus ausschalten mit SM
comcom.Output = "SM0" & vbCr
End Sub

Private Sub cmdComClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

cmdComClose.Click
'ComPort schliessen
comcom.PortOpen = False
End Sub

Private Sub comcom_OnComm(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles comcom.OnComm
Select Case comcom.CommEvent
Case 1006
MsgBox("Datenverlust!")
Case 1008
MsgBox("Datenverlust!")
Case 2
txtOutput.Text = comcom.Input
End Select
End Sub


Betreff Von Datum
Re: ComPort Daten werden beim lesen abgeschnitten
Hallo nochmal :)<br>Bin schon ein bischen weitergekommen...<br>Zu den Problemen 2 und 3 hier die Antworten:<br>Antwort zu 2.: vbcr und vblf bzw. in VB.net ControlChars.Lf und ControlChars.Cr bzw....
G. Guest 12.03.2005 10:02
Re: ComPort Daten werden beim lesen abgeschnitten
Wen's interressiert, hier kommt die Lösung:<br>:)<br><br>Beim empfangen wird der Output Buffer an eine Prozdur übergeben:<br>strOutput = strOutput & comcom.Input<br>IncomeData(strOutput)<br><br>Die Prozedur stellt...
mirmi li 19.03.2005 11:33
Re: ComPort Daten werden beim lesen abgeschnitten
Vielen Dank<br><br>sowas habe ich vor langer Zeit mal gesucht. :)<br><br>Gruss Raffi
Raphael Crivelli 20.03.2005 10:52

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Visual Studio 1 Magazin

© Copyright 2003 ppedv AG