我正在嘗試打開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