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

2 commentaires

madhan ravi
madhan ravi le 3 Sep 2020
Simulink?
Hyun-yong Kim
Hyun-yong Kim le 4 Sep 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
-------------------------------------------------------

Connectez-vous pour commenter.

 Réponse acceptée

Sourabh Kondapaka
Sourabh Kondapaka le 17 Sep 2020

0 votes

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 commentaire

Hyun-yong Kim
Hyun-yong Kim le 17 Sep 2020
Thank you very much for your help.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 변수 범위 지정하기 및 이름 생성하기 dans Centre d'aide et File Exchange

Produits

Version

R2020a

Community Treasure Hunt

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

Start Hunting!