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



Содержимое внутреннего счетчика ошибок, фиксируемых


    <nMode>     Возвращаемая информация



    --------------------------------------------------------------------
    1   ASCII-код принятого символа, или (-1), если нет принятого символа
    2   Состояние регистра MSR в момент прерывания
    3   Состояние регистра LSR в момент прерывания
    4   Содержимое внутреннего счетчика ошибок, фиксируемых через LSR и
        произошедших после вызова COM_INIT()
    5   Количество символов, потерянных в связи с заполнением буфера
        приема на 100%
    --------------------------------------------------------------------
 
  Описание
 
    Функция позволяет процедуре, заданной Clipper-командой SET KEY TO,
    определить причину прерывания, эмулируемого помещением символа в буфер
    клавиатуры. Тип информации, возвращаемой функцией, задается параметром
    <nMode>.
 
  Примечания
 
  . При открывании порта или новом вызове функции COM_KEY() вся
    информация, за исключением счетчика ошибок, сбрасывается.
 
  . Текущие значения как регистра состояния модема - MSR (Modem Status
    Register), так и регистра состояния линии - LSR (Line Status Register)
    объединяются с предыдущими значениями операцией "логическое ИЛИ".
    Предыдущие значения сохраняются в специально выделенных областях
    памяти.
 
  . CT II подсчитывает только ошибки переполнения, четности и кадров
    (биты с 1 по 3).
 
  . Внимание! Входные линии на PC-совместимых интерфейсных адаптерах
    обычно "электрически не нагружены", что может привести к
    непредсказуемым результатам при опросе MSR.
 
  Примеры
 
  . Определение количества обнаруженных ошибок:
 
    nErrorCnt := COM_EVENT(1, 4)
 
    IF nErrorCnt > 25
        * Больше 25 ошибок
        ? "Слишком много ошибок - завершение программы!"
        lRelease := .T.
    ENDIF
 

See Also: COM_KEY()

 

 

 COM_FLUSH()
 Очищает буфер приема.

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