private void InitReceiver() { var portName = Properties.Settings.Default.ComPortName; _logger.Info("Открытие COM-порта {0}", portName); _cts = new CancellationTokenSource(); #if USE_PI_SERIAL_PORT _serialPort = new PISerialPort(); _serialPort.Open(portName, Properties.Settings.Default.ComPortSpeed); #else _serialPort = new SerialPort(portName) { ReadTimeout = 1500, WriteTimeout = 1500, DtrEnable = true, RtsEnable = true, BaudRate = Properties.Settings.Default.ComPortSpeed, }; _serialPort.Open(); #endif _logger.Info("Инициализация приемника"); foreach (var name in Properties.Settings.Default.InitCommands.Cast <string>()) { Console.WriteLine(name); _serialPort.WriteLine(name); } Thread.Sleep(1500); _serialPort.DiscardInBuffer(); _serialPort.DiscardOutBuffer(); }
public void Close() { _logger.Info("Закрытие COM-порта"); DataReceived = null; ReadError = null; if (_cts != null) { _cts.Cancel(); _cts.Dispose(); _cts = null; } if (_serialPort != null) { _serialPort.Close(); _serialPort.Dispose(); _serialPort = null; } }