-5

我正在使用 C#。我有一个连接到 com 端口的设备。我正在通过 comport 向设备发送初始命令,即 socket alive。我已经有十六进制的数据包格式。当我写在端口即

port.write(result)

我不会在 port.readline 中得到任何响应,即

port.readline = empty

请帮我解决这个问题。

4

1 回答 1

1

您必须制作 SerialPortDataReceived 函数并将其添加到 DataRecieved 事件。之后,您应该在此函数中使用 Read 或 ReadLine 方法。

例子 :

         private SerialPort _serialPort;
    private void InitSerialPort()
    {
        _serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One)
        {
            Handshake = Handshake.None,

        };

        _serialPort.DataReceived += SerialPortDataReceived;
        _serialPort.Open();

        return;
    }

   private void SerialPortDataReceived(object sender, SerialDataReceivedEventArgs e)
    {

        string data = _serialPort.ReadExisting();

    }

如果端口响应您的请求,您可以看到带有断点或类似内容的“数据”值

于 2013-08-27T07:53:55.540 回答