- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: MSComm

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967

    MSComm

    Anzeige

    Powerstation Test
    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
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  2. #2
    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
    .:: rot ist blau und plus ist minus ::.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    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
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  4. #4
    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
    .:: rot ist blau und plus ist minus ::.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    08.05.2005
    Alter
    49
    Beiträge
    33
    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

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    10.03.2005
    Alter
    35
    Beiträge
    967
    @art-hightechnik

    ich sende halt nur zahlen..da könnt ich net auf jedes einzelne zeichen reagieren..

    @getaco

    die idee ist doch mal perfekt dankE!!!

    mfg hacker
    Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    08.05.2005
    Alter
    49
    Beiträge
    33
    Ich widerhol mich zwar : noch perfekter ist das Snap Protokol. Siehe mein beitrag in :
    https://www.roboternetz.de/phpBB2/viewtopic.php?t=9469

    mfg

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.03.2004
    Beiträge
    127
    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

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.03.2004
    Beiträge
    127
    Hab gerade diese Zeile rauskommentiert:
    empfang = StrConv(sData, vbUnicode)

    Jetzt funktionierts einwandfrei! Was macht den dieser Befehl StrConv genau?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress