Hallo,
Ich habe ein Programm geschrieben, das per RS232 mit einem Gerät
kommuniziert.
Wenn aber jetzt die Versorgungsspannung des Geräts oder
die RS232 Verbindung unterbrochen wird, wird das Programm eingefroren.
Ich könnte mir denken, das das Programm ewig auf eine Antwort wartet und
deshalb alles eingefriert.
Ich wollte fragen, ob es eine elegante Lösung gibt, das das Programm
darauf reagiert und eine Fehlermeldung anzeigt, ohne einzufrieren.
Ich benutze RS232/USB Converter und RS232/Ethernet Konverter mit
virtuellen COM-Ports.
Mein Code schaut folgendermaßen aus:
1 | SerialPort^ serialPort = gcnew SerialPort(comPort,9600,Parity::None,8,StopBits::One);
|
2 |
|
3 | serialPort->Open();
|
4 | serialPort->Write(Senden,0,5);
|
5 |
|
6 | array<unsigned char> ^Empfangen = gcnew array<unsigned char>(5);
|
7 |
|
8 | serialPort->Read(Empfangen,0,5);
|
9 |
|
10 | serialPort->Close();
|