У меня есть приложение, которое прослушивает часть аппаратного обеспечения на преобразователе USB в последовательный порт. Мое приложение должно контролировать более одного последовательного порта одновременно.
Я зацикливаю последовательные порты, которые мне нужно слушать, и создаю поток для каждого порта. В этой ветке у меня есть процедура передачи данных.
Когда я назначаю один порт, он работает безупречно. Когда я слушаю другой, это тоже работает. Однако когда я открываю оба порта, второй порт всегда выдает UnauthorizedAccessException
при вызове serialPort.Open()
. Не имеет значения, в каком порядке я открываю порты, второй всегда дает сбой.
Я слушаю порты, используя serialPort.ReadLine()
в цикле while.
Может ли .NET открывать более одного порта одновременно? Могу ли я слушать оба? Или я должен использовать другой (потокобезопасный?) Способ доступа к событиям моего последовательного порта?