Contenido principal

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

waitfor

Pausar la ejecución del código para lograr la tasa de ejecución deseada

Descripción

waitfor(rate) pausa la ejecución hasta que el código alcanza la velocidad de ejecución deseada. La función tiene en cuenta el tiempo que se dedica a ejecutar código entre llamadas waitfor.

ejemplo

numMisses = waitfor(rate) devuelve la cantidad de iteraciones perdidas al ejecutar el código entre llamadas.

Ejemplos

contraer todo

Cree un objeto de velocidad que se ejecute a 1 Hz.

r = rateControl(1);

Inicie un bucle utilizando el objeto rateControl dentro para controlar la ejecución del bucle. Restablezca el objeto antes de la ejecución del bucle para restablecer el temporizador. Imprime la iteración y el tiempo transcurrido.

reset(r)
for i = 1:10
	time = r.TotalElapsedTime;
	fprintf('Iteration: %d - Time Elapsed: %f\n',i,time)
	waitfor(r);
end
Iteration: 1 - Time Elapsed: 0.001865
Iteration: 2 - Time Elapsed: 1.000779
Iteration: 3 - Time Elapsed: 2.001266
Iteration: 4 - Time Elapsed: 3.001085
Iteration: 5 - Time Elapsed: 4.000798
Iteration: 6 - Time Elapsed: 5.001535
Iteration: 7 - Time Elapsed: 6.000616
Iteration: 8 - Time Elapsed: 7.001048
Iteration: 9 - Time Elapsed: 8.000344
Iteration: 10 - Time Elapsed: 9.000979

Cada iteración se ejecuta en un intervalo de 1 segundo.

Argumentos de entrada

contraer todo

Objeto Rate, especificado como un identificador. Este objeto contiene la información de la tasa deseada y otra información sobre la ejecución. Consulte rateControl para obtener más información.

Argumentos de salida

contraer todo

Número de ejecuciones de tareas fallidas, devuelto como un escalar. waitfor (Robotics System Toolbox) devuelve la cantidad de veces que se falló la tarea en el objeto Rate en función del tiempo LastPeriod. Por ejemplo, si la frecuencia deseada es 1 Hz y el último período fue de 3,2 segundos, numMisses devuelve 3.

Historial de versiones

Introducido en R2016a