Error with timer TimerFcn
6 次查看(过去 30 天)
显示 更早的评论
Hi, am using an timer to plot my camera onto UIAxes. I am getting error everytime I stop the timer.
I am getting the error text below, were the i value in "timer-i" changes everytime.
Error while evaluating TimerFcn for timer 'timer-19'
Matrix dimensions must agree.
when I am using the following code
function CreatePlotTimer(app)
app.timerPlot = timer;
app.timerPlot.StartDelay=1;
app.timerPlot.ExecutionMode='singleShot';
app.timerPlot.TimerFcn = @(~, ~)PlotFunction(app);
end
I am calling the Timer at this location:
if strcmp(get(app.ButtonCamera,'Text'),'Start Camera')
start(app.timerPlot)
set(app.ButtonCaptureImages,'Enable','on');
set(app.ButtonCamera,'Text','Stop Camera') % sets button to 'Stop Camera'
else
%%Camera is off. Change button Text and 'start camera'.
stop(app.timerPlot)
CreatePlotTimer(app);
set(app.ButtonCaptureImages,'Enable','off');
set(app.ButtonCamera,'Text','Start Camera') % sets button to 'Start Camera'
end
Anyone knows what is going on?
Many thanks
1 个评论
Guillaume
2019-11-1
As the error message tells you, the problem is with the TimerFcn PlotFunction which clearly does something with two matrices that don't have the same dimension. Unfortunately, you haven't shown us the code of that function.
回答(2 个)
Mohammad Sami
2019-11-1
This might be an error from your PlotFunction. I suggest you place a debug point in your PlotFunction and then run the app to see where the error comes from.
0 个评论
Sourabh Kondapaka
2020-11-4
编辑:Sourabh Kondapaka
2020-11-4
The reason for the i value of the "timer-i" keeps changing is because everytime you run the app, you are creating a new timer.
To avoid this, in the createPlotTimer() function, you can add the following before creating a new timer:
function CreatePlotTimer(app)
%Below line finds all active timer's in memory and deletes them.
delete(timerfind);
app.timerPlot = timer;
app.timerPlot.StartDelay=1;
app.timerPlot.ExecutionMode='singleShot';
app.timerPlot.TimerFcn = @(~, ~)PlotFunction(app);
end
About the error :
Matrix dimensions must agree.
Please try the approaches suggested by Guillaume and Mohammad Sami. If the issue is still not resolved, please upload the code of PlotFunction() and also 2 sample matrices which get passed to it as input arguments.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!