Отправить данные на COM порт и вывести ответ - C#
Формулировка задачи:
День добрый. Нужна ваша помощь. Пытаюсь отправить данные на ком порт и вывести ответ.При использовании метода port.Read(buffer,int,int) вся программа зависает. При методе port.ReadingExisting() ничего вообще не выводится хотя данные я посылаю. Самого ком порта на ноутбуке нет. Создал виртуальный ком через NPort Windows Driver Manager. Вот код:
Что происходит с данными? Почему ничего не приходит?
private void button1_Click(object sender, EventArgs e)
{
int TimeOut = 4500;
SerialPort port = new SerialPort();
port.PortName = "COM3";
port.BaudRate = 115200;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.DataBits = 8;
port.Handshake = Handshake.None;
port.Open();
byte[] send = new byte[] { 0x12, 0x10, 0x5a };
port.Write(send, 0, send.Length);
Thread.Sleep(TimeOut);
//вариант 1-ничего не выдает программа
// textBox1.Text = port.ReadExisting();
//2 вариант - зависает на этом месте(наверное timeoutexeption. ждет каких-то данных..)
port.Read(StartByte, 0,StartByte.Length);
listBox1.Items.Add(StartByte);
port.Close();
}Решение задачи: «Отправить данные на COM порт и вывести ответ»
textual
Листинг программы
byte[] array = new byte[port.BytesToRead]; port.Read(array, 0, port.BytesToRead);