Main Content

타이머를 사용하여 명령 실행 예약하기

개요

MATLAB®에는 MATLAB 명령의 실행을 예약하는 데 사용할 수 있는 timer 객체가 포함되어 있습니다. 이 섹션에서는 timer 객체를 만들고, 타이머 실행을 시작하며, timer 이벤트가 발생할 때 수행할 처리를 지정하는 방법을 설명합니다. timer 객체에 의해 지정된 시간이 경과하여 timer 객체가 지정된 명령을 실행하는 것을 timer 이벤트 발생이라고 합니다.

타이머를 사용하려면 다음 단계를 수행하십시오.

  1. timer 객체를 만듭니다.

    timer 함수를 사용하여 timer 객체를 만듭니다.

  2. timer 이벤트 발생 시 실행할 MATLAB 명령을 지정하고, timer 객체 동작의 다른 특성을 제어합니다.

    timer 객체 속성을 사용하여 이 정보를 지정합니다. timer 객체가 지원하는 모든 속성에 대한 자세한 내용은 timer 항목을 참조하십시오. 1단계에서 timer 객체를 생성할 때, timer 객체 속성을 설정할 수도 있습니다.

  3. timer 객체를 시작합니다.

    timer 객체를 만든 후에는 start 함수나 startat 함수를 사용하여 이 객체를 시작해야 합니다.

  4. timer 객체를 다 사용했으면 이 객체를 삭제합니다.

    timer 객체를 다 사용한 후에는 메모리에서 삭제해야 합니다. 자세한 내용은 delete 항목을 참조하십시오.

참고

timer 객체는 MATLAB 단일 스레드 실행 환경에서 작동하기 때문에, 지정된 실행 시간과 실제 타이머 실행은 다를 수 있습니다. 이 시간차의 길이는 MATLAB이 수행 중인 다른 처리 작업에 따라 달라집니다. 이벤트 대기열에 있는 콜백 함수를 강제로 실행하려면 drawnow 함수에 대한 호출을 코드에 포함시키십시오. drawnow 함수는 이벤트 대기열을 플러시합니다.

예제: 메시지 표시하기

다음 예제에서는 10초가 경과한 후에 MATLAB 명령 문자형 벡터를 실행하는 timer 객체를 설정합니다. 이 예제에서는 timer 객체를 만들고, 두 개의 timer 객체 속성, TimerFcnStartDelay의 값을 지정합니다. TimerFcn은 타이머 콜백 함수를 지정합니다. 이 함수는 timer 이벤트가 발생할 때, 실행하려는 MATLAB 명령 또는 프로그램 파일입니다. 이 예제에서 타이머 콜백 함수는 MATLAB 작업 공간 변수 stat의 값을 설정하고 MATLAB disp 명령을 실행합니다. StartDelay 속성은 timer 이벤트가 발생할 때까지 걸리는 시간을 지정합니다.

timer 객체를 만든 후에 이 예제에서는 start 함수를 사용하여 timer 객체를 시작합니다. (이 예제에는 타이머를 보여주기 위해 추가 명령이 포함되어 있지만, 이러한 명령이 타이머 작동에 필수적인 것은 아닙니다.)

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.

참고 항목

관련 항목