-5

私はC#を使用しています。COMポートに接続されたデバイスがあります。私は最初のコマンド、つまりソケットアライブをcomportを介してデバイスに送信しています。私はすでに 16 進数のパケット形式を持っています。ポートieに書き込むと

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 に答える