How to execute 2 functions simultaneously in the same loop on a GUI

3 次查看(过去 30 天)
I have a program that uses DAQ to generate signals. I have a timer that runs between a specific range. But I want the timer to keep running even if the signal is generating. What I mean, is that the code that generates the signal has its own time... So when the period of generation is done, my timer restarts where it was.
Example: while(something) time = time + 1; pause(1);
if time == 1 generate signal code (for 5 seconds); end; end;
after generating is finished, time = 2, =3, etc. But I want time to keep running while generating signal.
Any idea? should I use global, persistent variable for time?
  3 个评论
Adam Taher
Adam Taher 2015-5-29
编辑:Adam Taher 2015-5-29
Hi,
My code is something like: (i'm using GUI)
handles.time = 0;
while(something)
handles.time = handles.time + 1; pause(1); % this will make my counter increment every 1 second.
if handles.time == 5
display('generating');
Generation signal code over here (this code has its own period of time)
end; end;
So what happens is when time == 5, the generation code executes, but my handles.time stops counting, it doesn't keep running, which I understand why. It restarts counting AFTER that the generation code finishes. But what I want, is that handles.time is able to keep running WHILE the generation code is executing.
So I was wondering if there is a function that could help.
Salaheddin Hosseinzadeh
Ok Adam, that's a bit better now!
Generally that's not a good way of keeping the track of time. you can make the while loop running. you can either make a timer object, or even make it easier and use tic toc commands
tic
toc
Anyhow, tic toc will keep the track of time for you while another code is running ;)
Good luck!

请先登录,再进行评论。

回答(1 个)

Salaheddin Hosseinzadeh
Ok Adam, that's a bit better now!
Generally that's not a good way of keeping the track of time. you can make the while loop running. you can either make a timer object, or even make it easier and use tic toc commands
tic
toc
Anyhow, tic toc will keep the track of time for you while another code is running ;)
Good luck!

类别

Help CenterFile Exchange 中查找有关 Data Acquisition Toolbox Supported Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by