Отправить данные на 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д