force stop condition in a loop

can i add a condition in a loop that identify force stop (ctr+c) ? for example i control with matlab in a current source in a infinite loop (while(1)), and i want it to turn off when i stoped the loop with ctr+c for example: if force stop fprintf(device, ':OUTP OFF'); end

回答 (2 件)

Dennis
Dennis 2018 年 7 月 30 日
編集済み: Dennis 2018 年 7 月 30 日

1 投票

You can use onCleanup.Minimal exampel:
mytest()
function mytest()
finishup = onCleanup(@() mycleanup());
myloop();
end
function myloop()
while true
disp('running')
pause(1)
end
end
function mycleanup()
disp('stopped')
end
However maybe a loop that runs until a specific button is pressed is a cleaner approach.
KSSV
KSSV 2018 年 7 月 30 日

0 投票

HAve a look on break.

3 件のコメント

liran avraham
liran avraham 2018 年 7 月 30 日
編集済み: liran avraham 2018 年 7 月 30 日
i know break, how it can help me? i want a way the code to identify force break and to do something when it happens
KSSV
KSSV 2018 年 7 月 30 日
Whats the criteria for force stop?
liran avraham
liran avraham 2018 年 7 月 30 日
the loop is some homemade temperature control, that why the loop is infinite, so i force break when i want to change the temperature or to stop measuring.

サインインしてコメントする。

製品

リリース

R2015b

質問済み:

2018 年 7 月 30 日

編集済み:

2018 年 7 月 30 日

Community Treasure Hunt

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

Start Hunting!

Translated by