Main Content

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

ejemplo

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

numMisses = waitfor(rate) devuelve el número 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.003395
Iteration: 2 - Time Elapsed: 1.000586
Iteration: 3 - Time Elapsed: 2.000907
Iteration: 4 - Time Elapsed: 3.000640
Iteration: 5 - Time Elapsed: 4.001582
Iteration: 6 - Time Elapsed: 5.000900
Iteration: 7 - Time Elapsed: 6.001095
Iteration: 8 - Time Elapsed: 7.001002
Iteration: 9 - Time Elapsed: 8.000219
Iteration: 10 - Time Elapsed: 9.000825

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

Argumentos de entrada

contraer todo

Rate objeto, especificado como 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 perdidas, devueltas como un escalar. waitfor (Robotics System Toolbox) devuelve el número de veces que se omitió la tarea en el objeto Rate según el 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