How to stop a "while" iteration loop inside a callback push button subroutine, clicking another push button?
이전 댓글 표시
I wrote a "gui" to take temperature data from a sensor connected to Arduino board, and plot it. All of that, using Arduino package support. The action start when i click "Register" push button, and it goes right, cause I give it a specific time to plot.
But, I want to extend plotting duration indefinitely, until I click a "Stop" push button. This is the code inside "registerButton" callback:
delete(instrfind('Type', 'serial'));
puerto = get(handles.portEdit, 'String');
delete(instrfind({'Port'},{puerto}));
a = arduino(puerto);
for i = 2:19
a.pinMode(i, 'input')
end
handles.a = a;
t_s = str2double(get(handles.tiempoButton, 'String'));
% Used only when i need a specific time
a_pin = str2double(get(handles.pinAnalogButton, 'String'));
escala = str2double(get(handles.scaleFactorEdit, 'String'));
Y(1) = handles.a.analogRead(a_pin)*escala;
t(1) = 0;
tic;
handles.q = false;
i = 2;
while(handles.q == false)
Y(i) = handles.a.analogRead(a_pin)*escala;
t(i) = toc;
i = i + 1;
plot(t,Y), grid on;
pause(0.01)
end
Here, "handles.q" represents the state of "stopButton". "false" means "stopButton" isn't pressed and "while" loop goes on, until I click it, so, loop ends. I would like to replace "handles.q == false" with the right code.
How can I do that?
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 MATLAB Support Package for Arduino Hardware에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!