System.IO.Ports.SerialPort.DiscardInBuffer C# (CSharp) Méthode

DiscardInBuffer() public méthode

public DiscardInBuffer ( ) : void
Résultat void
		public void DiscardInBuffer ()
		{
			CheckOpen ();
			stream.DiscardInBuffer ();
		}

Usage Example

        /// <summary>
        /// Функция посылает запрос в порт, потом отсчитывает время readTimeout и проверяет буфер порта на чтение.
        /// Таким образом обеспечивается одинаковый промежуток времени между запросами в порт.
        /// </summary>
        public async Task <byte[]> RequestAndRespawnConstPeriodAsync(byte[] writeBuffer, int nBytesRead, int readTimeout, CancellationToken ct)
        {
            if (!_port.IsOpen)
            {
                return(await Task <byte[]> .Factory.StartNew(() => null, ct));
            }

            //очистили буферы порта
            _port.DiscardInBuffer();
            _port.DiscardOutBuffer();

            //отправили данные в порт
            _port.WriteTimeout = 500;
            _port.Write(writeBuffer, 0, writeBuffer.Length);

            //ждем ответа....
            await Task.Delay(readTimeout, ct);

            //проверяем ответ
            var buffer = new byte[nBytesRead];

            if (_port.BytesToRead >= nBytesRead)
            {
                _port.Read(buffer, 0, nBytesRead);
                return(buffer);
            }
            Debug.WriteLine($"Время на ожидание ответа вышло {_port.BytesToRead} >= {nBytesRead}");
            throw new TimeoutException("Время на ожидание ответа вышло");
        }
All Usage Examples Of System.IO.Ports.SerialPort::DiscardInBuffer