des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Как опросить ком порт?

Как мне проверить есть ли ответ? В общем вопрос по коду - вроде правильный? Для чего код - есть прибор, подключен по ком-порту. Не могу понять к тому ли я ком-порту цепляюсь и то ли шлю. Если с запросом и номером угадал, то должен получить какой то ответ от порта. В данном случае ни ответа, ни ошибки
using System;
using System.IO.Ports;

namespace Com
{
    class Program
    {
        static void Main(string[] args)
        {
            SerialPort _serialPort = new SerialPort("COM18",
                                      19200,
                                      Parity.None,
                                      8,
                                      StopBits.One);
            _serialPort.Handshake = Handshake.None;

            _serialPort.Open();
            _serialPort.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
            _serialPort.Write("#031");

            Console.ReadLine(); //Pause

        }
        private static void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            SerialPort sp = (SerialPort)sender;
            string indata = sp.ReadExisting();
            Console.WriteLine("Data Received:");
            Console.Write(indata);
        }
    }
}
  • Вопрос задан
  • 1026 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
У вас же sp_DataReceived вызывается когда в порт приходят данные. Данные пришли - вот и ответ...
Ответ написан
DmitryITWorksMakarov
@DmitryITWorksMakarov
Есть предложение окуклиться: замкнуть на себя порт (Tx <-> Rx) и отработать посылку/прием данных. При такой заглушке, если вы выбрали правильных порт, то данные в него посылаемые, будут из него возвращаться в обработчик события: DataReceived. Либо можно (если есть возможность) два СОМ-порта друг на друга замкнуть (Tx1 <-> Rx2, Tx2 <-> Rx1) и ловить посланное в первый порт на втором порту и наоборот.

После того, как вы наиграетесь с портами, уже разбираться с протоколом обмена вашего прибора....
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы