How to insert a delay in between system commands in matlab

73 views (last 30 days)
I am sending a couple of commands as part of a .run file to communicate with a device. However, the commands need some delay in between, which cannot be added, as the chip commands do not have a delay.
I am looking for a way to avoid sending one command at a time as a.run file.

Answers (1)

Andrew Schenk
Andrew Schenk on 18 Jun 2015
Edited: Andrew Schenk on 18 Jun 2015
To insert a delay between system commands, use the MATLAB pause command which will delay execution by n seconds as shown below:
system('dir')
pause(1)
system('dir')
  1 Comment
Walter Roberson
Walter Roberson on 18 Jun 2015
The question turns out to be about creating a data file for file redirection like
system("Program.exe < thedatafile")
but the poster wanted some mechanism to be able to mark delays about when individual lines of the file data was made available to the program, all within the same system() call.
This is not possible.
Some operating systems support piping the output of processes, so a program could be written which interpreted a marked-up data file, sending the lines to output and pausing appropriately.
For example one could create a ksh / bash script such as
print "First command here"
sleep 3
print "second line"
print "third line"
sleep 20
print "4th line"
and then
system('TheScript | Program')
I do not know the MS Windows equivalent

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!