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

Возвращает значение для регистра состояния


    SET KEY 228 TO BufferFull
 
    COM_KEY(2, 227, 228)                // Отслеживание порта 2
 
    cName := SPACE(20)                  // Выполнение GET..READ
    @ 10, 10 GET cName                  // может сопровождаться вызовом
    READ                                // процедур обслуживания
                                        // прерываний по инициативе порта.
 
    COM_KEY(2)                          // Отключение отслеживания
    RETURN
 
    PROCEDURE COMMERRORS (A, B, C)


       nMSR_Status := COM_EVENT(2, 2)   // Чтение собранных MSR-данных
       nLSR_Status := COM_EVENT(2, 2)   // Чтение собранных LSR-данных
 
       * Повторная активизация прерываний, сброс внутренних
       * значений COM_EVENT().
       COM_KEY(2, 227, 228)
 
       IF ISBIT(nMSR_Status, MSR_RI)    // Установлен бит вызова?
       ? "Обнаружен входящий вызов!"
       ELSE
          IF ISBIR(nLSR_Status, LSR_Break) // Проверка BREAK
             ?"Обнаружен BREAK!"
          ENDIF
       ENDIF
       RETURN
 
    PROCEDURE BUFFERFULL(A, B, C)
        * Должен быть прочитан буфер приема!
        COM_KEY(2, 227, 228)            // Повторная активизация
        cData := COM_READ(2)            // Чтение всех данных
        SELECT MESSDAT
        REPLACE ComDat WITH cData       // Сохранение данных
        SKIP
        SELECT INPUT
        RETURN
 

See Also: COM_COUNT()
COM_EVENT()
COM_MSR()
LASTKLINE()
LASTKPROC()

 

 

 COM_LSR()
  Возвращает значение для регистра состояния линии (LSR).
------------------------------------------------------------------------------
 
  Синтаксис
 
    COM_LSR(<nComPort>) --> nLSR
 
  Параметры
 
    <nComPort> - номер последовательного порта в диапазоне от 1 до 4.
 
  Возвращаемое значение
 
    nLSR - число, содержащее комбинацию битов регистра состояния линии
    (LSR), назначение которых приведено в таблице:

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