How to insert a delay in between system commands in matlab

73 Ansichten (letzte 30 Tage)
SunnyvaleGeek
SunnyvaleGeek am 17 Jun. 2015
Kommentiert: Walter Roberson am 18 Jun. 2015
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.

Antworten (1)

Andrew Schenk
Andrew Schenk am 18 Jun. 2015
Bearbeitet: Andrew Schenk am 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 Kommentar
Walter Roberson
Walter Roberson am 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

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by