Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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;
            }
        }