Sto tentando di aprire COM1, ma ricevo uno strano errore ogni volta che chiamo SerialPort.Open()
.Impossibile aprire la porta seriale in .NET
L'errore è:
Il nome della porta dato non inizia con il COM/com o non risolve a una porta seriale valido. Nome parametro: portName
Il codice è molto semplice:
SerialPort port = new SerialPort("COM1", 19200, Parity.None, 8, StopBits.One);
port.Handshake = Handshake.RequestToSend;
port.Open();
Se chiamo SerialPort.GetPortNames()
, restituisce una porta chiamata "COM1".
Ho verificato di avere una "COM1" sul mio computer e non la sto utilizzando in altre applicazioni. Quando eseguo il codice su un altro computer, funziona. Il mio sistema esegue Windows Vista. La versione di .NET è 2.0.
C'è un settaggio di sicurezza che devo cambiare da qualche parte? Ho effettuato l'accesso come amministratore e ho disattivato il controllo dell'account utente.
Maggiori informazioni
Ho usato Process Explorer e ha confermato che non sta usando \ Device \ Serial0.
Soluzione
Ho installato un adattatore USB-seriale (COM3), e funziona benissimo. Vai a capire. Deve esserci un problema con COM1.
So che a volte il 'GetPortNames()' dà a personaggi strabilianti. –
Il hyperterminal funziona? – SwDevMan81