0

別の関数func1を呼び出す関数があり、その関数がタイマー オブジェクトfunc2を開始します。タイマーが止まるまで一時停止する必要があります。これどうやってするの?func1

stop()タイマーは SingleShot タイマーではありませんが、TimerFcnでテストされた条件で使用を停止した定期タイマーです。

4

2 に答える 2

3

wait()タイマーが停止するまで実行を停止するために使用します。

function func1
    thandle = func2;
    wait(thandle)
    disp(1)
end

function h = func2
    h = timer('StartFcn',@(ev,obj)fprintf('Started timer'),'TimerFcn',@(ev,obj)pause(2));
    start(h)
end

func2()はサブ関数ですfunc1()が、外部関数にすることもできます。唯一の要件は、オブジェクトへのハンドルを返すことですtimer

fooコマンド ウィンドウで呼び出すだけで、この例を試してみてください。

于 2013-08-21T14:31:52.277 に答える