我正在尝试打开COM1,但每次拨打SerialPort.Open()
时都会发生奇怪的错误。无法在.NET中打开串口
的错误是:
给定的端口名称不会与COM/COM启动或没有解决一个有效的串行端口。 参数名:PORTNAME
的代码非常简单:
SerialPort port = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
port.Handshake = Handshake.RequestToSend;
port.Open();
如果我把SerialPort.GetPortNames()
,它返回称为 “COM1” 一个端口。
我已验证我的电脑上有“COM1”,并且我没有在任何其他应用程序中使用它。当我在另一台计算机上运行代码时,它可以正常工作。我的系统正在运行Windows Vista。 .NET的版本是2.0。
是否有安全设置我必须改变某处?我以管理员身份登录,并关闭了UAC。
更多信息
我使用Process Explorer中并确认没有使用\设备\ Serial0上。
解决方法
我安装了一个USB转串口适配器(COM3),它工作正常。去搞清楚。 COM1必须有问题。
我知道有时'GetPortNames()'会给它带来不可思议的字符。 – 2009-11-18 21:45:23
超级终端工作? – SwDevMan81 2009-11-19 18:25:40