타이머 오류 시 자동 재시작

타이머로 특정루틴을 계속 실행해야 하는데,
가끔씩 타이머가 원인불명으로 중단되는 경우가 발생합니다.
이처럼 어떤 오류로 타이머가 중단된 경우,
이를 감지하여 타이머를 다시 실행시키고 싶습니다.
좋은 방법이 있을까요?

2 Commenti

madhan ravi
madhan ravi il 3 Set 2020
Simulink?
Hyun-yong Kim
Hyun-yong Kim il 4 Set 2020
I'm using MATLAB
I will try to the following code. Is it OK?
---------------------------------------------------
try
timer_processing_routine
catch
t = timerfind;
if isempty(t)
t = timer .... % redefind the timer
elseif t.Running == "off"
start(t)
end
end
-------------------------------------------------------

Accedi per commentare.

 Risposta accettata

Sourabh Kondapaka
Sourabh Kondapaka il 17 Set 2020

0 voti

Hi,
As I am unaware with what error the timer has stopped, your code should also work.
You can use the below code as a reference if required:
%Here the timer runs for every 1 second for ever.
t = timer;
t.ExecutionMode = 'fixedSpacing';
t.Period = 1;
t.TimerFcn = @check;
start(t)
function check(~, ~)
count = timerfind;
if isempty(count)
t = timer;
t.ExecutionMode = 'fixedSpacing';
t.Period = 1;
t.TimerFcn = @check;
start(t)
else
% Your Timer processing routine here
disp("Timer processing routine");
end
end

1 Commento

Hyun-yong Kim
Hyun-yong Kim il 17 Set 2020
Thank you very much for your help.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 시작과 종료 in Centro assistenza e File Exchange

Prodotti

Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!