0

可能重复:
释放未插入的虚拟串行端口

这是我连接串行 com 端口的代码:

try{
SRR_serial_port.PortName = comboBox2.Text;
SRR_serial_port.BaudRate = 9600;
SRR_serial_port.Parity = System.IO.Ports.Parity.None;
SRR_serial_port.DataBits = 8;
SRR_serial_port.StopBits = System.IO.Ports.StopBits.One;
SRR_serial_port.Handshake = System.IO.Ports.Handshake.None;       
SRR_serial_port.WriteTimeout = 500;

SRR_serial_port.Open();
}
catch{}

然后关闭端口如下:

SRR_serial_port.Close();

现在我在这种情况下遇到了问题:

  1. 开放端口
  2. 断开串行端口电缆(从计算机 USB 端口)
  3. 重新连接电缆
  4. 关闭端口
  5. 再次打开端口

这会导致以下错误:

访问端口被拒绝

在调试模式下,我看到此错误发生在该行的以下行中:

SRR_serial_port.Open();

我的意思是,此行执行并且端口状态更改为打开,但过了一段时间(在执行下一行期间)出现错误。

但是,这种情况不会产生任何错误:

  1. 开放端口
  2. 关闭端口
  3. 分离和重新连接电缆
  4. 开放端口
4

0 回答 0