Работа с коммуникационными портами (COM и LPT) в программах для Win32


    d8ef8794     

в состояние разрыва. SetCommBreak является


CLRDTR Сбрасывает сигнал DTR CLRRTS Сбрасывает сигнал RTS SETDTR Устанавливет сигнал DTR SETRTS Устанавливает сигнал RTS SETXOFF Симулирует прием символа XOFF SETXON Симулирует прием символа XON SETBREAK Переводит выходную линию передатчика в состояние разрыва. SetCommBreak является упрощенной формой данного вызова. CLRBREAK Снимает состояние разрыва для выходной линии передатчика. ClearCommBreak является упрощенной формой данного вызова. Приостановить прием/передачу данных может и возникновение любой ошибки при установленом в TRUE поле fAbortOnError в структуре DCB использованой для настройки режимов работы коммуникационного порта. В этом случае, для восстановления нормальной работы порта, следует использовать функцию:

BOOL ClearCommError( HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat );
Эта функция не только сбрасывает признак ошибки для соответсвующего порта, но и возвращает более подробную информацию об ошибке. Кроме того, возможно получение информации о текущем состоянии порта. Вот что означают параметры:

hFile       Описатель открытого файла коммуникационного порта.   lpErrors       Адрес переменной, в которую заносится информация об ошибке. В этой переменной могут быть установлены один или несколько из следующих бит:
CE_BREAK Обнаружено состояние разрыва связи CE_DNS Только для Windows95. Параллельное устройство не выбрано. CE_FRAME Ошибка обрамления. CE_IOE Ошибка ввода-вывода при работе с портом CE_MODE Запрошеный режим не поддерживается, или неверный описатель hFile. Если данный бит установлен, то значение остальных бит не имеет значение. CE_OOP Только для Windows95. Для параллельного порта установлен сигнал "нет бумаги". CE_OVERRUN Ошибка перебега (переполнение аппаратного буфера), следующий символ потерян. CE_PTO Только для Windows95. Тайм-аут на параллельном порту. CE_RXOVER Переполнение приемного буфера или принят символ после символа конца файла (EOF)
Содержание  Назад  Вперед