Клиппер 5. Справочник

Без сохранения информация будет потеряна,


Вся информация сохраняется во внутренней
    области памяти и может быть получена с помощью функции COM_EVENT().
    Без сохранения информация будет потеряна, т.к. регистры и флаги,
    отмечающие прерывание, при чтении автоматически сбрасываются.
 
    Код клавиши, заданный параметром <nKeyValue2|cKeyValue2>, позволяет
    отслеживать процедурой, заданной Clipper-командой SET KEY TO,
    заполнение буфера приема на 75% или более. При этом в буфер клавиатуры
    не будет помещаться код, заданный параметром <nKeyValue1|cKeyValue1>
    при получении символов в буфер приема.  Отслеживание изменений
    состояний MSR и LSR при этом продолжается.
 
  Примечания


 
  . MSR (Modem Status Register) - регистр состояния модема. LSR (Line
    Status Register) - регистр состояния линии.
 
  . Состояния различных интерфейсных регистров объединяются во
    внутренней памяти при "обслуживании" события новым вызовом данной
    функции. Это означает, что произошедшие в это время изменения не будут
    потеряны.
 
  . Функция должна повторно вызываться после каждого выполненного
    прерывания, при этом производится сброс информации, накопленной во
    внутренней памяти.
 
  . Отслеживание заполнения буфера на 75% производится независимо от
    вызова функций COM_SOFT() или COM_HARD().
 
  Примеры
 
  . Процедура COMERRORS() вызывается при помещении в буфер клавиатуры
    символа CHR(227), если портом 2 будет обнаружена ошибка или изменится
    состояние сигнала модема. При заполнении буфера приема на 75% или
    более, в буфер клавиатуры помещается CHR(228) и вызывается процедура
    BUFFERFULL():
 
    #include NT2COM.CH                  // Определения символьных
                                        // констант для интерфейса.
    COM_OPEN(2, 1000)                   // Открытие порта 2
    COM_INIT(2, 1200, "N", 8, 1)        // Инициализация порта 2
 
    SET KEY 227 TO ComErrors

Содержание раздела