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:
Vielleicht hat ja jemand eine Idee???
Bin über jede Hilfe dankbar.
Viele Grüße
Dee
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)
Bin über jede Hilfe dankbar.
Viele Grüße
Dee
Comment