Break Out of While Loop with ESC key

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

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

Thanks for the answer. It does meet the requirement.

Sign in to comment.

More Answers (1)

With respect to cleanup on control-c: see onCleanup()

1 Comment

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

Asked:

on 18 Jun 2012

Community Treasure Hunt

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

Start Hunting!