我正在使用 C#。我有一个连接到 com 端口的设备。我正在通过 comport 向设备发送初始命令,即 socket alive。我已经有十六进制的数据包格式。当我写在端口即
port.write(result)
我不会在 port.readline 中得到任何响应,即
port.readline = empty
请帮我解决这个问题。
我正在使用 C#。我有一个连接到 com 端口的设备。我正在通过 comport 向设备发送初始命令,即 socket alive。我已经有十六进制的数据包格式。当我写在端口即
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();
}
如果端口响应您的请求,您可以看到带有断点或类似内容的“数据”值