Fehler beim Schreiben auf COM Port

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Fehler beim Schreiben auf COM Port

    Moin !

    Ich möchte auf meinen COM Port schreiben, an dem ein serieller Drucker hängt. Das Kabel ist inzwischen ok. Von einem anderen PC habe ich es geschafft zu drucken mit VB 4.0.

    Das hier ist mein Code:

    VB.NET-Quellcode

    1. Imports System
    2. Imports System.IO
    3. Imports System.IO.Ports
    4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    5. SerialPort1.Open()
    6. Dim objStreamReader As StreamReader
    7. Dim strLine As String
    8. objStreamReader = New StreamReader("C:\projekte\etikett.txt")
    9. strLine = objStreamReader.ReadLine
    10. Do While Not strLine Is Nothing
    11. Console.WriteLine(strLine)
    12. SerialPort1.WriteLine(strLine)
    13. strLine = objStreamReader.ReadLine
    14. Loop
    15. objStreamReader.Close()
    16. SerialPort1.Close()
    17. End Sub

    Wenn ich das ausführe bekomme ich immer die im Anhang befindliche Fehlermeldung. Ich habe die Einstellungen im Gerätemanager und die, die ich unter Eigenschaften der Schnittstelle zugeordnet habe mit angehängt. Ich habe es tatsächlich mit einem anderen Drucker schon mal geschafft, aber irgendwas habe ich mir mit den Einstellungen wohl versaut. Danke für eine Hilfe.

    Gruß mgbig
    Bilder
    • com einstellung.jpg

      31,19 kB, 418×467, 95 mal angesehen
    • com fehler.jpg

      33,93 kB, 565×306, 121 mal angesehen
    • VB com einstellungen.jpg

      35,28 kB, 350×468, 138 mal angesehen
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )

    mgbig schrieb:

    Fehlermeldung
    Führe mal bitte diesen Code aus:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim txt = "alle Ports:" & Environment.NewLine
    3. For Each port In IO.Ports.SerialPort.GetPortNames
    4. txt &= port.ToString & Environment.NewLine
    5. Next
    6. MessageBox.Show(txt)
    7. End Sub
    Was wird angezeigt?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @mgbig Ist das evtl. eine umgeroutete USB-Verbindung?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Ich glaube nicht, dass das ein USB Anschluss ist. Ich habe mal ein Foto von den Innereien gemacht. Hardwearemäßig ist es von außen ein 9 pol. D Sub Stecker. Und ich habe an diesem PC bereits diesen COM Port ansprechen können und drucken können. Aber ich muss mir irgendwo so richtig was versaut haben und ich weiß nicht wo und wie....
    Bilder
    • com1 im pc.JPG

      133,42 kB, 1.000×750, 102 mal angesehen
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )

    mgbig schrieb:

    Aber ich muss mir irgendwo so richtig was versaut haben
    Mach Dir ein neues Projekt und teste ausschließlich dieses Port.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hab ich vor 1/2 Stunde gemacht ;)

    Nur genau der Code, der oben steht. Gleicher Fehler. Ich bin kurz davor das Projekt zu veröffentlichen und auf einem anderen PC zu testen. (hier fehlt der Smiley, der in die Tischplatte beißt!)

    EDIT: Und genau das habe ich jetzt gemacht und ....


    ER DRUCKT!
    Ja, was ist den das jetzt? Kann nicht an VB liegen, oder? Eher an den Einstellungen unter WINDOWS !?!?
    Einziger Unterschied: Der Entwicklungsrechner ist WIN 7 pro 64 bit, der auf dem es läuft 32 bit.
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „mgbig“ ()

    mgbig schrieb:

    32 bit.
    Dann mach das Projekt mit x86-Einstellung.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Es geht !!!

    Wie?

    Ich habe im Gerätemanager die COM Schnittstelle deinstalliert. Neustart und da war sie wieder und jetzt kann ich drucken! 8| Muss ich das verstehen ????
    Danke für alle Mühe!
    Ich bin Umsteiger: Früher VB 4.0 prof, heute VB NET unter Studio 2019 Community Edition (und da noch ein Greenhorn :D )

    mgbig schrieb:

    Muss ich das verstehen ?
    So ein Betriebssystem, so ein armes Schwein, ist halt auch nur ein Mensch. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!