Break Out of While Loop with ESC key

조회 수: 11 (최근 30일)
Amjad
Amjad 2012년 6월 18일
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.

채택된 답변

Jan
Jan 2012년 6월 18일
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
Amjad
Amjad 2012년 6월 19일
Thanks for the answer. It does meet the requirement.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by