(C++) Wjwwood Serial Library - Горячее подключение COM-портов в Windows
В настоящее время я работаю с этой библиотекой C++ - https://github.com/wjwwood/serialv- - чтобы прочитать устройство COM-порта в Windows.
Приложение, кажется, работает хорошо, но я столкнулся со странным крайним случаем.
Когда я подключаю устройство, перед запуском приложения оно будет работать должным образом, но когда устройство недоступно, я опрашиваю COM-порты на предмет новых подключений. Если новое соединение найдено, приложение, похоже, забирает устройство с горячим подключением, но поток, похоже, каким-то образом поврежден.
Если, однако, я "serial::close()" для устройства (см. Здесь - http://wjwwood.io/serial/doc/1.1.0/classserial_1_1_serial.html) и снова его откройте, устройство работает как положено,
Чтобы обойти это, я в настоящее время перехватываю 12 секунд потока COM-порта, и если он поврежден, я закрываю и снова открываю устройство с горячим подключением.
Это похоже на довольно неприятный взлом, но я также подозреваю, что я не единственный, кто столкнулся с этой проблемой.
Есть ли более эффективные решения там? Или это просто момент RTFM?