-
MSComm
hi,
ich will mit VB die serielle schnittstelle abfragen ...ich hatte des vor mit MSComm Control zu machen, weil sichs so schön einfach angehört hat..
ich geh also her und starte n neue *.exe mach da des symbol für MSComm drauf und noch n textbox..
nun kommts zum code:
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comOverrun
MsgBox "Datenverlust!"
Case comRxOver
MsgBox "Datenverlust!"
Case comEvReceive
Text1.Text = MSComm1.Input
End Select
End Sub
sodele..soweit so gut..ich compile des..passt auch alles..aber dann...NIX PASSIERT :( die daten werden irgenwie net angezeigt oder nich empfangen..wo könnt das des problem liegen? is am code was falsch?
gruss hacker
-
So funktioniert das bei mir, versuchs mal damit bzw. vergleiche die Einstellungen!
Private Sub Form_Load()
' Fire Rx Event Every x Bytes
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
' When Inputting Data, Input y Bytes at a time
MSComm1.InputLen = 0
MSComm1.Settings = "9600,N,8,1"
' Open COM1
MSComm1.CommPort = 1
MSComm1.PortOpen = True
End Sub
Private Sub MSComm1_OnComm()
Dim sData As Variant
If MSComm1.CommEvent = comEvReceive Then
sData = MSComm1.Input
empfang = StrConv(sData, vbUnicode)
Text1.Text = Text1.Text + empfang
End If
-
danke..jetzt tuts einwandfrei !! an was ich jetzt noch hänge ist, wenn ich meine ganzen daten in der do-loop schleife sende, wie krieg ich nachher am pc die daten wieder auseinander? die kommen ja dann alle hintereinander und wie könnte ich des programmiertechnisch lösen, dass die dann "sortiert" werdeN?
mfg hacker
-
Was willst du denn mit den Daten machen? Was sendest du? Also ich würde gleich auf jedes ankommende Zeichen reagieren, z.B.:
SELECT CASE empfang
CASE 1: ...
CASE 127: Machirgendwas
.
.
.
END SELECT
-
du kanst auch einfach sonderzeichen [chr(1) bis chr(31) ohne chr(10) und chr(13)] vor und nach deinen daten senden. dann suchsdu in vb mit
INSTRING(start,ser_daten,such_chr) nach dem zeichen was du brauchst.
mfg
-
@art-hightechnik
ich sende halt nur zahlen..da könnt ich net auf jedes einzelne zeichen reagieren..
@getaco
die idee ist doch mal perfekt :D dankE!!!
mfg hacker
-
Ich widerhol mich zwar : noch perfekter ist das Snap Protokol. Siehe mein beitrag in :
https://www.roboternetz.de/phpBB2/viewtopic.php?t=9469
mfg
-
Hi,
Habe eine Frage zu deinem Programm art-hightech.
Wie schaffe ich es, dass ich mehrere Buchstaben (z.B. Hallo) darstellen kann? In meinem Programm wird immer nur der erste Buchstabe (H) angezeigt.
Bitte um Antwort.
mfg blizzard
-
Hab gerade diese Zeile rauskommentiert:
empfang = StrConv(sData, vbUnicode)
Jetzt funktionierts einwandfrei! Was macht den dieser Befehl StrConv genau?