串口未经授权访问异常

3

我想要从串口读取一些信息,但是当我尝试打开连接时,它会抛出未经授权的访问异常。

这段代码读取端口名称。

        SerialPort port = new SerialPort();
        string[] serialPorts = System.IO.Ports.SerialPort.GetPortNames();


        public Page_Main()
        {
            InitializeComponent();

            for (int i = 0; i < serialPorts.Count(); i++)
                portBox.Items.Add(serialPorts[i]);
        }

这是尝试从串口获取信息的代码。

            port.PortName = portBox.SelectedItem.ToString();
            port.BaudRate = 9600;
            port.DataBits = 8;
            port.Parity = Parity.None;
            port.StopBits = StopBits.One;

            port.Open();// This is where the exception is thrown

            serialOutput.Text = port.ReadLine();

port.PortName 的值是多少? - KevinDTimm
所以,SerialPort.Open() 的 man 页面说 - 端口访问被拒绝或者已经有一个进程打开了指定的 COM 端口。 - KevinDTimm
如果端口已经被另一个程序打开,就会发生这种情况。 - Jeff
这是一根USB转串口电缆,所以可能是问题所在。 - dbomb101
USB 转串口不应该有问题,你确定 COM3 是在那个设备上吗? - KevinDTimm
没有任何影响,只需关闭使用该端口的另一个程序即可消除异常。 - dbomb101
1个回答

2

端口访问被拒绝。

  • 或者 -

当前进程或系统上的另一个进程已经通过SerialPort实例或非托管代码打开了指定的COM端口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接