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

时间:2021-01-20 22:12:53

标签: c# bluetooth serial-port

我尝试使用蓝牙串口 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);
    }
}

0 个答案:

没有答案
相关问题