访问端口“COM1”被拒绝

时间:2014-05-15 07:56:20

标签: c# port

我有一台RFID设备通过端口COM1连接到我的笔记本电脑(确认正确,我使用设备管理器)。但是,当我用C#语言运行这些代码时。它给了我一个例外访问端口“COM1”被拒绝。有人可以帮我解决这个问题吗?以下是我的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO.Ports;
using System.Threading;

namespace Testing1
{
    public class Testing1
    {
        public static SerialPort iSerialPort = new SerialPort();

        static int Main() 
        {
            string strException = string.Empty;
            string strComPort = "COM1";
            int nBaudrate=Convert.ToInt32(9600);

            int nRet = OpenCom(strComPort, nBaudrate, out strException);
            if (nRet != 0)
            {
                string strLog = "Connect reader failed, due to: " + strException; 
                Console.WriteLine(strLog);
                //return;
            }
            else
            {
                string strLog = "Reader connected " + strComPort + "@" + nBaudrate.ToString();
                Console.WriteLine(strLog);
            }

            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();

            iSerialPort.Close();
            return 0;
        }

        public static int OpenCom(string strPort, int nBaudrate, out string strException)
        {

            strException = string.Empty;

            if (iSerialPort.IsOpen)
            {
                iSerialPort.Close();
            }

            try
            {
                iSerialPort.PortName = strPort;
                iSerialPort.BaudRate = nBaudrate;
                iSerialPort.ReadTimeout = 200;
                iSerialPort.DataBits = 8;
                iSerialPort.Parity = Parity.None;
                iSerialPort.StopBits = StopBits.One;
                iSerialPort.Open();
            }
            catch (System.Exception ex)
            {
                strException = ex.Message;
                return -1;
            }



            return 0;
        }
    }
}

1 个答案:

答案 0 :(得分:8)

当某些其他程序正在访问COM1端口时,可能会发生此异常。你还有其他使用RFID设备的程序吗?

您可以使用Portmon检查哪些程序使用哪些端口。