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

Функция позволяет увеличить частоту таймера


 
  Описание
 
    Функция позволяет увеличить частоту таймера с 18.2 до приблизительно
    2500 сигналов в секунду, что значительно увеличивает точность отсчета
    интервалов времени. При увеличени частоты производится установка
    значения специального внутреннего счетчика в 0 и запуск счета сигналов
    таймера.
 
    Остановка счета производится вызовом функции со значением .F.
    параметра <lAcceleration> или по умолчанию. Подсчитанное количество
    сигналов таймера можно получить вызовом функции GETTIC(), которая
    самостоятельно подсчета не останавливает.


 
    Увеличение частоты таймера не сказывается на ходе основанных на его
    работе встроенных "часов".
 
  Примечания
 
  . Внимание! Функция изменяет один из системных векторов прерываний.
    Поэтому перед окончанием выполнения программы для восстановления
    исходного значения вектора необходимо произвести вызов функции с
    опущенными параметрами. Восстановление векторов производится также
    утилитой INTSAVE, входящей в комплект поставки CT II, и при
    прикомпоновке CT II-драйвера CT2US50.OBJ.
 
  . Поскольку функции KEYSEC(), SHOWTIME() и SHOWKEY() используют
    сигналы таймера, то перед увеличением его частоты следует
    деинсталлировать названные функции путем их вызова без параметров.
 
  . Описываемая функция относится к функциям поддержки системы
    прерываний, поэтому при компоновке ее нельзя помещать в оверлеи. Это,
    однако, не препятствует ее вызову из оверлейных модулей.
 
  . Поскольку при каждом сигнале таймера происходит вызов обработчика
    прерываний, увеличение частоты таймера приводит к замедлению работы
    программы.
 
  Примеры
 
  . Увеличение частоты таймера для измерения времени выполнения
    функции пользователя:
 
    SETTIC(.T.)                 // Увеличение частоты таймера,
                                // сопровождающееся запуском счетчика.

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