Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

waitfor

Suspendre l'exécution du code pour atteindre le taux d'exécution souhaité

Description

exemple

waitfor(rate) suspend l'exécution jusqu'à ce que le code atteigne la vitesse d'exécution souhaitée. La fonction prend en compte le temps passé à exécuter le code entre les appels waitfor .

numMisses = waitfor(rate) renvoie le nombre d'itérations manquées lors de l'exécution du code entre les appels.

Exemples

réduire tout

Créez un objet de taux qui fonctionne à 1 Hz.

r = rateControl(1);

Démarrez une boucle en utilisant l'objet rateControl à l'intérieur pour contrôler l'exécution de la boucle. Réinitialisez l’objet avant l’exécution de la boucle pour réinitialiser le minuteur. Imprimez l'itération et le temps écoulé.

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.002596
Iteration: 2 - Time Elapsed: 1.000760
Iteration: 3 - Time Elapsed: 2.001075
Iteration: 4 - Time Elapsed: 3.001497
Iteration: 5 - Time Elapsed: 4.001552
Iteration: 6 - Time Elapsed: 5.001646
Iteration: 7 - Time Elapsed: 6.000828
Iteration: 8 - Time Elapsed: 7.000463
Iteration: 9 - Time Elapsed: 8.001023
Iteration: 10 - Time Elapsed: 9.001176

Chaque itération s'exécute à un intervalle d'une seconde.

Arguments d'entrée

réduire tout

Objet Rate , spécifié comme handle. Cet objet contient les informations sur le taux souhaité et d'autres informations sur l'exécution. Voir rateControl pour plus d'informations.

Arguments de sortie

réduire tout

Nombre d'exécutions de tâches manquées, renvoyé sous forme de scalaire. waitfor (Robotics System Toolbox) renvoie le nombre de fois où la tâche a été manquée dans l'objet Rate en fonction du temps LastPeriod . Par exemple, si la fréquence souhaitée est de 1 Hz et que la dernière période était de 3,2 secondes, numMisses renvoie 3.

Historique des versions

Introduit dans R2016a