Announcement

Collapse
No announcement yet.

COM-Port Fehler Serial-Port-Monitor

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • COM-Port Fehler Serial-Port-Monitor

    Hallo zusammen,

    vorab erst einmal danke für das tolle Forum und die sehr guten Beiträge.

    Ich habe ein Programm geschrieben, dass den virtuellen COM-Port via USB ausliesst. Angeschlossen ist ein Konverter RS232 auf USB.
    Eigentlich klappt alles, aber der Konverter zeigt immer COM Buffer Overflow.

    Seltsam ist nur, dass bei dem mitgelieferten Programm diese Fehlermeldung nicht kommt. Ich habe mit einem Serial Port Monitor den Datenstrom gelesen und konnte nichts feststellen, dass das Programm irgendetwas an den Converter sendet. Ausser man drückt die Reset-Taste im Programm.

    Mit dem Serial-Port-Monitor lässt sich der COM-Port auch öffnen.
    Sobald der Port geschlossen ist kommt der Fehler am Konverter.
    Man kann nach öffnen des Ports diesen wieder mit einem String reseten und alles ist gut. Läuft quasi Stundenlang ohne Fehler.

    Nur mit meinem Programm geht das nicht. Das geht 10sec gut und dann kommt der Buffer Overflow-Fehler wieder.

    Hier mein Code:
    Code:
                'Initialize COM-Port
                 Dim port As New System.IO.Ports.SerialPort()
    
                Dim out(5) As Byte
    
                'Startbyte
                out(0) = CByte(STARTBYTE)
                'Lengthbyte
                out(1) = CByte(&H1)
                'Reset Decive
                out(2) = CByte(&HC0)
                'Checksum
                out(3) = CByte(&H82)
                'Stoppbyte
                out(4) = CByte(STOPPBYTE)
    
                'Initialize COM-Port
                port.PortName = "COM3"
                port.Parity = Parity.None
                port.BaudRate = 115200
                port.StopBits = StopBits.One
                port.DataBits = 8
    
                'Open COM-Port
                port.Open()
    
                'Send Reset to USB-Converter
                port.BaseStream.Write(out, 0, 5)
    Vielleicht hat ja jemand eine Idee???
    Bin über jede Hilfe dankbar.

    Viele Grüße
    Dee

  • #2
    Problem behoben. Der Buffer muss nur vom Start an ausgelesen werden und nicht erst, wenn man die Daten speichern will ;-)
    Viele Grüße
    Dee

    P.S.: Sorry für den Doppelthread. Habe aus versehen 2x draufgedrückt, da mein Internet gesponnen hat. Konnten den einen leider nicht löschen.

    Comment

    Working...
    X