Minuteur#
Introduction#
La classe timer est dérivée de la classe de base brain et fournit des fonctionnalités pour mesurer le temps écoulé, vous permettant de suivre les durées et de planifier des événements basés sur le temps dans un programme VEX V5.
Accéder#
Brain.Timer
Notes#
Brain.Timerest une instance de la classetimeret fournit la même fonctionnalité.
Exemple#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 Brain
brain Brain = brain();
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", Brain.Timer.time());
wait(50, msec);
}
Fonctions des membres#
La classe timer comprend les fonctions membres suivantes :
clear— Réinitialise le minuteur à zéro.time— Renvoie le temps écoulé depuis le début du chronomètre.event— Appelle une fonction après un nombre spécifié de millisecondes, avec des arguments optionnels.
Avant d’appeler les fonctions membres de timer , une instance brain doit être créée, comme indiqué ci-dessous :
// Create the V5 Brain
brain Brain = brain();
clear#
Réinitialise la valeur actuelle du minuteur à zéro. Ensuite, le minuteur recommence immédiatement à compter à partir de zéro.
Available Functionsvoid clear();
Cette fonction n’accepte aucun paramètre.
Return ValuesCette fonction ne renvoie aucune valeur.
Exampleswhile (true) {
// Reset the timer every time the screen is pressed
if (Brain.Screen.pressing()) {
Brain.Timer.clear();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", Brain.Timer.value());
wait(50, msec);
}
time#
Renvoie la valeur actuelle du minuteur.
Available Functions1 — Renvoie le temps écoulé en millisecondes.
uint32_t time() const;
Parameters2 — Renvoie le temps écoulé dans les unités de temps spécifiées.
double time( timeUnits units ) const;
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Unités utilisées pour renvoyer le temps écoulé :
|
La fonction sans paramètre (1) renvoie un
uint32_treprésentant le temps écoulé en millisecondes.La fonction avec un paramètre timeUnits
timeUnits2) renvoie un doubledoublereprésentant le temps écoulé dans les unités spécifiées.
Le chronomètre se déclenche au démarrage du projet.
L’appel à
clearréinitialise la valeur du minuteur à zéro.
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", Brain.Timer.time());
wait(50, msec);
}
event#
Enregistre une fonction de rappel à exécuter après un délai spécifié.
Available Functions1 — Enregistre une fonction de rappel à exécuter après un délai spécifié et transmet une valeur définie par l’utilisateur à la fonction de rappel.
static void event( void (*callback)(void*), uint32_t value );
Parameters2 — Enregistre une fonction de rappel à exécuter après un délai spécifié.
static void event( void (*callback)(void), uint32_t value );
Paramètre |
Taper |
Description |
|---|---|---|
|
|
Une fonction qui sera appelée après le délai spécifié et qui reçoit un argument défini par l’utilisateur. |
|
|
Une fonction qui sera appelée après le délai spécifié. |
|
|
Le délai, en millisecondes, avant l’exécution de la fonction de rappel. |
Cette fonction ne renvoie aucune valeur.
NotesCette fonction planifie un rappel unique ; elle ne se répète pas automatiquement.
La fonction de rappel doit renvoyer
void.Plusieurs événements peuvent être programmés simultanément.
Définissez la fonction (en dehors de
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Enregistrez la fonction à l’intérieur de
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); // Call turnOrange after 2 seconds Brain.Timer.event(turnOrange, 2000); }