Fonctions de callback de timer, callbacks de timer, fonctions de rappel de timer
Definir les commandes executees lors des evenements de timer.
📄Description

Les callbacks de timer peuvent etre retardes lorsqu'un autre callback ou une tache couteuse en CPU est deja en cours.

Un objet timer possede quatre proprietes de callback. StartFcn s'execute lorsque le timer demarre. TimerFcn s'execute lorsque le timer se declenche. StopFcn s'execute lorsque le timer s'arrete normalement ou apres une erreur. ErrorFcn s'execute lorsqu'un callback de timer signale une erreur.

Definissez une propriete de callback avec l'une des valeurs suivantes :

Valeur Utilisation
Handle de fonction Utilise une fonction qui accepte l'objet timer et une structure d'evenement, par exemple @myTimerFcn ou @(src,event)disp(event.Type).
Tableau de cellules Passe des arguments supplementaires apres l'objet timer et la structure d'evenement. Le premier element de la cellule est le handle de fonction, suivi des arguments supplementaires.
Vecteur de caracteres ou chaine scalaire Evalue directement des commandes Nelson. Ces callbacks ne recoivent pas l'objet timer ni la structure d'evenement comme arguments d'entree.

Les callbacks specifies par handle de fonction ou tableau de cellules recoivent l'objet timer comme premier argument d'entree et une structure d'evenement comme second argument d'entree. La structure d'evenement possede les champs Type et Data. Type vaut StartFcn, TimerFcn, StopFcn ou ErrorFcn. Data.time contient l'heure de l'evenement sous forme de numero de date serie.

Pour les callbacks avec des arguments propres a l'application, utilisez un tableau de cellules. Nelson appelle la fonction avec l'objet timer, la structure d'evenement, puis les arguments supplementaires dans l'ordre ou ils apparaissent dans le tableau de cellules.

💡Exemples
Afficher le type d'evenement depuis un callback de timer.
t = timer('StartDelay', 0.1, ...
  'TimerFcn', @(src, event) disp(event.Type));
start(t);
wait(t);
delete(t);
Passer un argument supplementaire a un callback avec un tableau de cellules.
t = timer('TimerFcn', {@dispTimerMessage, 'timer fired'});
start(t);
wait(t);
delete(t);

function dispTimerMessage(src, event, message)
  disp([event.Type, ': ', message]);
end
🔗Voir aussi
timerstartstopwaitConflits de file de timers
🕔Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub