exponenta event banner

Планирование выполнения команды с помощью таймера

Обзор

Программное обеспечение MATLAB ® включает объект таймера, который можно использовать для планирования выполнения команд MATLAB. В этом разделе описывается, как можно создавать объекты таймера, запускать таймер и указывать обработку, которая должна выполняться при срабатывании таймера. Таймер срабатывает по истечении времени, заданного объектом timer, и выполняет указанные команды.

Для использования таймера выполните следующие действия:

  1. Создание объекта таймера.

    Вы используете timer для создания объекта таймера.

  2. Укажите, какие команды MATLAB необходимо выполнять при срабатывании таймера и управляйте другими аспектами поведения объекта таймера.

    Для указания этой информации используются свойства объекта таймера. Сведения обо всех свойствах, поддерживаемых объектом таймера, см. в разделе timer и set. На шаге 1 можно также задать свойства объекта таймера при их создании.

  3. Запустите объект таймера.

    После создания объекта таймера его необходимо запустить с помощью start или startat функция.

  4. Удалите объект таймера по завершении работы с ним.

    После завершения использования объекта таймера его следует удалить из памяти. Посмотрите delete для получения дополнительной информации.

Примечание

Указанное время выполнения и фактическое выполнение таймера могут изменяться, поскольку объекты таймера работают в однопоточной среде выполнения MATLAB. Продолжительность этого временного запаздывания зависит от того, что выполняет другая обработка MATLAB. Чтобы принудительно выполнять функции обратного вызова в очереди событий, включите вызов drawnow функция в коде. drawnow функция удаляет очередь событий.

Пример: Отображение сообщения

В следующем примере задается объект таймера, который выполняет вектор символов команды MATLAB через 10 секунд. В примере создается объект таймера, задающий значения двух свойств объекта таймера. TimerFcn и StartDelay. TimerFcn определяет функцию обратного вызова таймера. Это команда MATLAB или программный файл, который необходимо выполнить при срабатывании таймера. В этом примере функция обратного вызова таймера устанавливает значение переменной рабочей области MATLAB. stat и выполняет MATLAB disp команда. StartDelay указывает, сколько времени проходит до запуска таймера.

После создания объекта таймера в примере используется start для запуска объекта таймера. (Дополнительные команды в этом примере включены для иллюстрации таймера, но не требуются для работы таймера.)

t = timer('TimerFcn', 'stat=false; disp(''Timer!'')',... 
                 'StartDelay',10);
start(t)

stat=true;
while(stat==true)
  disp('.')
  pause(1)
end

При выполнении этого кода выводится следующий результат:

.
.
.
.
.
.
.
.
.
Timer!

delete(t) % Always delete timer objects after using them.

См. также

Связанные темы