Break Out of While Loop with ESC key

12 views (last 30 days)
Amjad
Amjad on 18 Jun 2012
Hi I want something like below.
while(see if esc key is pressed)
reading serial port;
writing to another serial port;
end
code;
code;
fclose(serialports);
where the while loop continues to execute until the escape key is pressed. Currently i am doing it with while(1). but when i have to end the program i have to press ctrl+c. Which terminates the program and the code where the ports are to be closed is not executed. So i want to get out of the while loop when escape is pressed and the code below the while loop is also executed.

Accepted Answer

Jan
Jan on 18 Jun 2012
What about a small GUI?
DlgH = figure;
H = uicontrol('Style', 'PushButton', ...
'String', 'Break', ...
'Callback', 'delete(gcbf)');
while (ishandle(H))
disp(clock);
pause(0.5);
end
  1 Comment
Amjad
Amjad on 19 Jun 2012
Thanks for the answer. It does meet the requirement.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 18 Jun 2012
With respect to cleanup on control-c: see onCleanup()
  1 Comment
Amjad
Amjad on 19 Jun 2012
Yes it will clean up the variables at least. but i think the stop process button would be more feasible then ctrl+c.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!