Пример #1
0
 public void Close()
 {
     if (IsOpen)
     {
         try { Stop(); } catch (Exception) { /*ignored*/ }
         serial.Close();
         serial.Dispose();
         serial = null;
     }
 }
Пример #2
0
        private static SerialConnection TryOpenAndCheckDevice(
            string portName, int baudRate, Func <SerialConnection, bool> isDeviceAvailable)
        {
            SerialConnection conn = null;

            try {
                conn = new SerialConnection(portName, baudRate);
                conn.Open();
                if (isDeviceAvailable(conn))
                {
                    return(conn);
                }
            } catch (UnauthorizedAccessException) {
                // port is not available
            } catch (TimeoutException) {
                // baud rate or protocol error
            } catch (IOException) {
                // unexpected failure
            }

            if (conn != null)
            {
                conn.Close();
                conn.Dispose();
            }

            return(null);
        }