私はC#を使用しています。COMポートに接続されたデバイスがあります。私は最初のコマンド、つまりソケットアライブをcomportを介してデバイスに送信しています。私はすでに 16 進数のパケット形式を持っています。ポートieに書き込むと
port.write(result)
port.readline で応答がありません。
port.readline = empty
これを整理するのを手伝ってください。
私はC#を使用しています。COMポートに接続されたデバイスがあります。私は最初のコマンド、つまりソケットアライブをcomportを介してデバイスに送信しています。私はすでに 16 進数のパケット形式を持っています。ポートieに書き込むと
port.write(result)
port.readline で応答がありません。
port.readline = empty
これを整理するのを手伝ってください。
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();
}
ポートがリクエストに応答する場合、ブレークポイントなどで「データ」値を確認できます