SerialPort WriteLine命令的C#错误

SerialPort WriteLine命令的C#错误,c#,serial-port,C#,Serial Port,我正在使用C#SerialPort类写入COM端口。奇怪的是,我可以很好地从端口获取数据——它发送我期望的数据。但是,我无法向端口发送任何数据。我发送的任何数据都会立即作为来自端口的新数据回显给我。我期待一个“Done”命令,但它会返回我刚刚发送的数据。它在Windows超级终端上运行得很好,但这段代码就是不起作用 我使用的是9600,8-N-1,没有流量控制 我主要使用本文中的代码: 我用这个来实例化我的端口 comPort.BaudRate = int.Parse(_baudRate);

我正在使用C#SerialPort类写入COM端口。奇怪的是,我可以很好地从端口获取数据——它发送我期望的数据。但是,我无法向端口发送任何数据。我发送的任何数据都会立即作为来自端口的新数据回显给我。我期待一个“Done”命令,但它会返回我刚刚发送的数据。它在Windows超级终端上运行得很好,但这段代码就是不起作用

我使用的是9600,8-N-1,没有流量控制

我主要使用本文中的代码:

我用这个来实例化我的端口

comPort.BaudRate = int.Parse(_baudRate);    //BaudRate
comPort.DataBits = int.Parse(_dataBits);    //DataBits
comPort.StopBits = (StopBits)Enum.Parse(typeof(StopBits), _stopBits);    //StopBits
comPort.Parity = (Parity)Enum.Parse(typeof(Parity), _parity);    //Parity
comPort.PortName = _portName;   //PortName
comPort.Handshake = Handshake.None;
comPort.ReadTimeout = 2000;
comPort.RtsEnable = true;
//now open the port
comPort.Open();
写操作只是使用comport.write(字符串),我也使用了comport.writeline(字符串),得到了相同的结果


这段代码与普通的香草超级终端之间的主要区别是什么,这会导致它们的行为有所不同?

我偶然发现了这个答案,这在许多代码示例中都不存在。底线是,您必须在每个端口写入时包含回车符。我使用的是:

comport.write(string)
但应该是这样的

comport.write(string+"\r\n")

你不会相信有多少代码示例在代码中没有这样做。我偶然发现了一个包含它的随机片段,这就是区别。

抱歉,这意味着包含了一个指向文章的链接,其中大部分内容来自: