可能重复:
释放未插入的虚拟串行端口
这是我连接串行 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();
现在我在这种情况下遇到了问题:
- 开放端口
- 断开串行端口电缆(从计算机 USB 端口)
- 重新连接电缆
- 关闭端口
- 再次打开端口
这会导致以下错误:
访问端口被拒绝
在调试模式下,我看到此错误发生在该行的以下行中:
SRR_serial_port.Open();
我的意思是,此行执行并且端口状态更改为打开,但过了一段时间(在执行下一行期间)出现错误。
但是,这种情况不会产生任何错误:
- 开放端口
- 关闭端口
- 分离和重新连接电缆
- 开放端口