Содержимое внутреннего счетчика ошибок, фиксируемых
<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()
Очищает буфер приема.