Probleme beim Auslesen der COM1

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Vildan.

    Probleme beim Auslesen der COM1

    Hallo lieber VB'ler,



    Ich hab mein Programm soweit einsatzfähig.
    Jetzt musste ich aber feststellen,dass es noch ein Problem mit der Darstellung bzw des korrekten Auslesens gibt!
    Mit Hilfe von Serial Port-Monitor 4 hab ich aber die korrekten Daten erhalten .... Baudrate Parity Stopbit und Datenbit stimmt alles.

    Momentan sieht es im Programm so aus:





    Und im Serial Port-Monitor sieht es dann so aus und hier sind auch meine Werte:



    Es ist quasi wie wenn das Programm was abschneidet ....

    Könnt ihr mir einen Tipp geben?

    Quellcode

    1. Dim s As String
    2. s = "" 'Inhalt 's' werden gelöscht
    3. s = Text3.Text 'Text3.Text ist hier MSComm1.Input
    4. Debug.Print s 'Direktfenster
    5. Dim j As Integer, z As String
    6. Dim hg As String
    7. Dim ba As String
    8. hg = ""
    9. ba = ""
    10. For j = 1 To Len(s)
    11. z = Mid(s, j, 1)
    12. hg = hg & Hex(AscW(z)) & vbCrLf
    13. Label10.Caption = "Hex-Code : " & vbCrLf & hg & vbCrLf
    14. ba = ba & Asc(z) & vbCrLf
    15. Label14.Caption = "Asci-Code : " & vbCrLf & ba & vbCrLf
    16. Next j


    "s" kommt leider auch nur auf den Wert "2" an was kann dies liegen? daher bekomm ich evtl. nur die "2" und die "16" im Programm?!

    Grüße

    Vildan

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Vildan“ ()

    HI,

    Sorry,aber ich bin ein VB Neuling. Ich habe meine Schnittstelle wie unten angesprochen. Mit Hilfe eines Schnittstellen-Testers konnte ich auch Sätze über die selbe COM schicken, jedoch sobald ich das Prüf-Programm seine Daten schickt, empfange ich nur Striche und wiederholungen....

    Ich weiß jetzt leider auch nicht was du mit einem Übertragungsprotokoll meinst? Über das Serial Port Monitor Programm hab ich schon alles aufgezeichnet und gespeichert was über die COM geschickt wird.Mein Programm selbst erstellt normalerweise eine TXT-Datei und speichert diese mit Datum und Uhrzeit im Windows Temp-Ordner ab!

    Quellcode

    1. MSComm1.CommPort = 1
    2. MSComm1.Settings = "115200,e,8,1" ’Ist-Einstellung des Adapters
    3. ’MSComm1.Settings = "38400,N,8,1" ’War die Einstellung für Schnittstellentester
    4. MSComm1.PortOpen = True 'Ports werden geöffnet
    5. MSComm1.RThreshold = 1 ’Ist hier der Fehler muss die Zahl hochgeschraubt werden?
    6. MSComm1.SThreshold = 1
    7. MSComm1.InputLen = 0
    8. End Sub
    9. Private Sub Command1_Click()
    10. Select Case MSComm1.CommEvent
    11. Case comOverrun: MsgBox "Datenverlust:während der Übertragung!"
    12. Case comRxOver: MsgBox "Datenverlust:Empfangs-Buffer-Überlauf!"
    13. Case comEvReceive: Me.Text1.Text = Me.Text1.Text & MSComm1.Input
    14. End Select




    Grüße

    Vildan

    Vildan schrieb:

    MSComm1.Settings = "115200,e,8,1"
    Wenn ich's richtig interpretiere, heißt das "8 Bit, Even Parity".

    Üblich ist eigentlich 7Bit+Parity oder 8Bit ohne Parity.

    Bist du sicher, dass die Einstellung stimmt?
    Wenn ja, verwende dieselbe Einstellung am Schnittstellentester.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --