Избитая тема COM-порта. А что если отвалилось?
Добавлено: 20 янв 2017, 07:03
Доброе всем! Пишу на Дельфе, для начала использовал TComPort компоненту, но сейчас понимаю, что мне хочется свое сделать. А пришел к этому по причине зависания/ошибки в программе когда устройство сидящее на СОМ порте вдруг заснуло/обесточилось... и тут начинаются танцы с бубном )) в лучшем случае рестарт системы.
Дак вот собственно вопрос - что происходит с портом, когда устройство отвалилось, но потом снова появилось? Как можно снова возобновить работу с портом?
Сейчас планирую написать прогу работающую с функциями CreateFile, GetCommState, SetCommState, SetCommMask, CreateThread. Ключевое тут - потоки. Хочу организовать отдельные потоки на прием, и на передачу данных, чтобы основная прога при этом работала независимо от состояния порта. Но при этом еще понимаю, что нужно организовать полную обработку ошибок с портом. А вот какое событие при каких нарушениях происходят еще не знаю... Вообщем ай нид хелп))
Дак вот собственно вопрос - что происходит с портом, когда устройство отвалилось, но потом снова появилось? Как можно снова возобновить работу с портом?
Сейчас планирую написать прогу работающую с функциями CreateFile, GetCommState, SetCommState, SetCommMask, CreateThread. Ключевое тут - потоки. Хочу организовать отдельные потоки на прием, и на передачу данных, чтобы основная прога при этом работала независимо от состояния порта. Но при этом еще понимаю, что нужно организовать полную обработку ошибок с портом. А вот какое событие при каких нарушениях происходят еще не знаю... Вообщем ай нид хелп))