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

при заполнении буфера приема на


    данных путем отслеживания XOFF-символа:
 
    * Открытие порта с активизацией режима непосредственной передачи
 
    COM_OPEN(1, 1000)
 
    * Передача данных до приема XOFF-символа
 
    nPos := 1
 
    DO WHILE .NOT. COM_SOFT_R(1) .AND. nPos <= LEN(cString)
        COM_SEND(1, SUBSTR(cString, nPos, 1))
        nPos := nPos + 1


    ENDDO
 

See Also: COM_SEND()
COM_SOFT()

 

 

 COM_SOFT_S()
 Возвращает флаг автоматической посылки XOFF-символа.
------------------------------------------------------------------------------
 
  Синтаксис
 
    COM_SOFT_S(<nComPort>) --> lXOFF
 
  Параметры
 
    <nComPort> - номер последовательного порта в диапазоне от 1 до 4.
 
  Возвращаемое значение
 
    lXOFF - логическое значение .T. при заполнении буфера приема на 75%
    или более, а иначе .F..
 
  Описание
 
    Функция возвращает состояние флага, устанавливаемого при посылке
    XOFF-символа в процессе автоматической программной приостановки
    передачи. Посылка XON-символа при освобождении буфера до 50% вызывает
    сброс этого флага.
 
  Примечания
 
  . Выбор оптимального размера буфера приема зависит от скорости
    передачи и рассчитывается, исходя из необходимости обеспечивать прием
    символов, передаваемых удаленной стороной до ее реакции на
    приостановку передачи.
 
    Другими словами, 25% объема буфера должны вместить то количество
    символов, которое может быть передано за время равное сумме удвоенного
    времени распространения и времени реакции программы.
 
  Примеры
 
  . Освобождение буфера приема по флагу автоматической передачи XOFF:
 
    IF = COM_SOFT_S(1)
        ? "Пора освободить буфер!"
        ...
    ENDIF
 

See Also: COM_READ()
COM_SOFT()

 

 

 XMOBLOCK()
 Формирует блок данных для передачи по протоколу XMODEM.
------------------------------------------------------------------------------

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