C#打开串口出现了这样的错误该怎么办

解决方案 »

  1.   

    com5是你的对象的名字,它的port怎么设置的,你的计算机上有没有com1
      

  2.   

    SerialPort Comport = new SerialPort();              //串口端口号
                    Comport.PortName = "COM5";
                    //串口波特率
                    Comport.BaudRate = 9600;
                    //串口数据位
                    Comport.DataBits = 8;
      

  3.   

    你先用 SerialPort.GetPortNames();
    获取机器内所有的COM口具体方法介绍如下。        //
            // 摘要:
            //     获取当前计算机的串行端口名的数组。
            //
            // 返回结果:
            //     当前计算机的串行端口名的数组。
            //
            // 异常:
            //   T:System.ComponentModel.Win32Exception:
            //     无法查询的串行端口名称。
            public static string[] GetPortNames();
      

  4.   

    串口参数配置好了吗,包括串口,用SerialPort.GetPortNames()获取本机所有可用串口。
    COM5这个SerialPort实例化了吗?
      

  5.   

    参考如下代码:Using System.Linq;
         string[] cOMPorts = System.IO.Ports.SerialPort.GetPortNames();
                if (cOMPorts.FirstOrDefault(w => w.Equals("COM5")) != null)
                {
                    System.IO.Ports.SerialPort serialPort = new System.IO.Ports.SerialPort("COM5", 9600); //构造函数可以设置其他参数
                    if (!serialPort.IsOpen)
                    {
                        serialPort.Open();
                    }            }