Что не так с моим подходом к обнаружению открытого последовательного порта? - PullRequest
1 голос
/ 11 июля 2019

Это фрагмент кода, который предшествует части, которая отправляет последовательные данные.

while (true)
{              
     if (serial.IsOpen)
     {
          lock (dispatch_lock)
          {                 
              serial.Write(message, 0, message.Length);
          }
     }
}

Итак, сначала я проверяю, открыт ли серийный номер, и если да, я блокирую его, чтобы другие потоки не могли его закрыть.Несмотря на это, иногда я получаю
Exception thrown: 'System.InvalidOperationException' in System.dll An unhandled exception of type 'System.InvalidOperationException' occurred in System.dll The port is closed.

Что не так в моем подходе, чтобы гарантировать, что порт записывается только при открытии?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...