C# serialPort.Open() 失败或需要很长时间才能工作

问题描述

我尝试使用蓝牙串口 2 天,我需要等待 20 分钟到 1 小时才能真正打开串口...

serialPort.open() 因此异常而失败(端口存在):

抛出异常:System.IO.Ports.dll 中的“System.IO.IOException” 元素 introuvable。 : 'COM5'

我意识到如果我等了这么久它也可以工作,因为我在午餐时给我的电脑留下了一个断点,然后继续执行。 我尝试使用不同的库,但结果总是相同。 我已经尝试了不同的波特率参数等...... 当然,该设备(HC-05)已正确配对和连接,我已使用 android 应用程序对其进行了尝试,并且可以正常工作。当端口最终接受打开时,它也可以工作。 我传递的端口名称是好的,端口实际上是在设备配对和连接时创建的(它会在设备管理器中弹出) 我的 Windows 安装是全新的,所以没有幽灵串口。 代码很简单:

_serialPort = new SerialPort
{
    Baudrate = 115200
    PortName = BluetoothPortName;
};

while (!_serialPort.IsOpen) // because I want it to finally succeed!
{ 
    try
    {
        _serialPort.open();
    }
    catch (Exception ex)
    {
        _serialPort.Close();
        Logger.Error(ToString(),$"Failed to open SerialPort : {ex.Message}");
        Thread.Sleep(500);
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)