Перезапуск последовательного порта
Я использую последовательный порт USB в C#. Операции чтения и записи последовательного порта .net работают хорошо, за исключением некоторых редких случаев. Если я останавливаю последовательные операции чтения-как в случае операции разрыва отладчика-последовательный порт, кажется, зависает. Даже если я перезапущу файл .exe, последовательный порт больше не будет считывать данные.
Я могу перезапустить его одним из двух способов: 1) отсоединить и снова подключить последовательный кабель USB или 2) вручную войти в Диспетчер устройств и сделать "отключить", а затем "включить". В любом случае последовательный порт снова начинает правильно считывать данные. Это, по-видимому, говорит о том, что проблема заключается не в последовательном передатчике данных.
Я знаю, что могу использовать DevCon для выполнения операций отключения/включения в программном обеспечении. Однако это кажется неуклюжим способом решения этой проблемы.
Любые идеи оценены по достоинству.
Что я уже пробовал:
Я попытался очистить InBuffer и OutBuffer для порта, но это не имеет никакого эффекта.