El método C # SerialPort # Open () lanza ArgumentException debido al nombre del puerto?
En mi máquina local,
Windows XPPuertos (COM y LPT)COM3Puerto serie virtual RIM v2 (COM4)Puerto serie virtual RIM v2 (COM5)el siguiente código,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
using System.Threading;
namespace OpenSerialPortTest
{
class Test
{
static void Main(string[] args)
{
foreach (String serialPortName in SerialPort.GetPortNames())
{
SerialPort serialPort = new SerialPort(serialPortName);
try
{
serialPort.Open(); // Line 19
Console.WriteLine(serialPort.PortName);
}
catch (Exception ex1)
{
Console.WriteLine(ex1);
try
{
serialPort.Close();
}
catch (Exception ex2)
{
Console.WriteLine(ex2);
}
}
}
Console.ReadLine();
}
}
}
tirará lo siguienteArgumentException
,
Es decir,
El nombre del puerto dado no comienza con COM / com o no se resuelve en un puerto serie válido.
¿Alguien sabe por qué ocurre esto?