matlab timer help pls
12 次查看(过去 30 天)
显示 更早的评论
Hello,
I am new to Matlab and am seeking help regarding stopping a timer function. I apologise in advance if I use the wrong terminology.
I have both a start and stop button. I have been able to create the timer and both buttons.
Cheers
0 个评论
回答(1 个)
Geoff Hayes
2017-3-26
sufyan - since you are using GUIDE for your GUI, then save the timer handle to the handles structure so that it will be available in the stop button callback. For example,
% --- Executes on button press in start.
function start_Callback(hObject, eventdata, handles)
% hObject handle to start (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% timer function and global variable
handles.ctr = 1;
handles.hTimer = timer('TimerFcn',{@timerCallback,handles},...
'Period',.25,'ExecutionMode','fixedRate');
start(handles.hTimer);
guidata(hObject, handles);
% --- Executes on button press in stop.
function stop_Callback(hObject, eventdata, handles)
% hObject handle to stop (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if isfield(handles,'hTimer')
stop(handles.hTimer);
end
Note how the hTimer is includes as a field in the handles structure and then we save that updated structure by calling
guidata(hObject,handles);
(I did the same for your ctr. Try to avoid using globals where possible...)
In the stop button callback, we then check to see if the handles structure has a field named hTimer and, if so, stop the timer.
4 个评论
Geoff Hayes
2017-3-27
Hi sufyan - please clarify what you mean by I now need the data to be deleted not just paused when STOP is clicked. What data is to be deleted? What is paused?
另请参阅
类别
在 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!