Это фрагмент кода, который предшествует части, которая отправляет последовательные данные.
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.
Что не так в моем подходе, чтобы гарантировать, что порт записывается только при открытии?