Ich arbeite an einem Projekt für das Senden von Hex-Daten kontinuierlich zu seriellen COM-Ports von meinem Computer und dann von COM-Ports zu LEDs (RGB-Leuchten) über RS232 USB-Kabel. Manchmal funktioniert es für 10 bis 15 Stunden und an anderen Tagen werden keine Daten an die Ports gesendet.Com-Ports stecken fest oder stoppen die serielle Kommunikation nach 7-8 Stunden Arbeit
Ich benutze DMX 512 Controller, RS232 USB-Kabel mit FTDI-Treiber und C# Sprache für die Codierung, um Daten mit SerialPort-Klasse zu senden.
Hier ist mein Code:
public static GO()
{
try
{
dmx = new Dmx(2, 0);
Thread mTh1 = new Thread(() => dmx.Start(RGBdata1, RGBdata2, RGBdata3));
Global.tmrStarted = true; // test it,ok
mTh1.Start();
}
}
Das ist meine Startmethode ist, wo ich Daten zu 3 Ports senden
while (Global.tmrStarted)
{
Break();
Thread.Sleep(500);
if (m_port == null || m_port.IsOpen == false) return;
m_port.Write(new byte[] { 0 }, 0, 1);
SendData();
Break1();
if (m_port1 == null || m_port1.IsOpen == false) return;
m_port1.Write(new byte[] { 0 }, 0, 1);
SendData1();
Break2();
if (m_port4 == null || m_port4.IsOpen == false) return;
m_port4.Write(new byte[] { 0 }, 0, 1);
SendData2();
Thread.Sleep(100);
}
Wenn ich Daten durch Klick auf Start-Taste senden versuchen, gestoppt wird, aber Daten werden nicht durch diese Com-Ports gesendet, bis ich nicht mein USB-Kabel entfernen und wieder einstecken, was danach funktioniert.
Kann mir jemand vorschlagen, was mit Kommunikation eigentliche Problem ist ports.Did sie deaktivieren erhalten, indem kontinuierlich Daten, um sie .Thanks im Voraus zu senden
Normalerweise, wenn dies passiert, ist es ein Problem mit dem USB2serial-Chip und nicht Ihr Code. –