How to insert a delay in between system commands in matlab

73 vues (au cours des 30 derniers jours)
SunnyvaleGeek
SunnyvaleGeek le 17 Juin 2015
Commenté : Walter Roberson le 18 Juin 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.

Réponses (1)

Andrew Schenk
Andrew Schenk le 18 Juin 2015
Modifié(e) : Andrew Schenk le 18 Juin 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 commentaire
Walter Roberson
Walter Roberson le 18 Juin 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

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by