このエラーが発生しています...
セマフォのタイムアウト期間が満了しました。
この線で...
ThePorts.ActivePort1.Open();
…でもたまにしか出てこない。それが起こるとき、それは何度も何度も起こります。その後、問題は数時間または数日にわたって解消されますが、その後再発します。
シリアルポートは、BlueTooth が接続された USB です。
この男は非常によく似た問題を抱えていたと思いますが、C#ではそうではありませんでした
usbser.sys で SerialPort.Open / DeviceIoControl / GetcommState でフリーズする
私が推定できる限り、私は彼の問題全体、結果のコメント、および回答を読みましたが、どれが彼の問題を解決したのか、または C# が彼が経験していたものと大きく異なるのかどうかはわかりません。
無知のための助けをありがとう。これは、それが起こっている実際のコードです。
public static void Open_ActivePortWeWillUse(String Drone_StringNameFromUser)
{
SerialPort TempSerialPort = new SerialPort(Drone_StringNameFromUser, (int) SerialPortSpeed);
ThePorts.ActivePort1 = TempSerialPort;
ThePorts.ActivePort1.DataBits = 8;
ThePorts.ActivePort1.Parity = Parity.None;
ThePorts.ActivePort1.StopBits = StopBits.One;
ThePorts.ActivePort1.DataReceived += new SerialDataReceivedEventHandler(OurBackGroundSerialPortReceiver);
ThePorts.ActivePort1.Open(); // "Sometimes" Error hits here
}