Timer#
Einführung#
Die Klasse timer wird verwendet, um die Zeit zu messen und mit einem Timer zu interagieren, der unabhängig vom Timer des Gehirns ist.
Klassenkonstruktor#
timer();
Klassendestruktor#
Destroys the timer object and releases associated resources.
~timer();
Parameter#
Dieser Konstruktor akzeptiert keine Parameter.
Beispiele#
// Create a timer instance
timer myTimer = timer();
Mitgliedsfunktionen#
Die Klasse timer enthält die folgenden Memberfunktionen:
reset— Resets the timer to zero.value— Returns the elapsed time since the timer started.event— Ruft eine Funktion nach einer bestimmten Anzahl von Millisekunden auf, mit optionalen Argumenten.
Bevor eine beliebige Memberfunktion vom timer aufgerufen werden kann, muss eine Instanz timer erstellt werden, wie unten dargestellt:
/* This constructor is required to use a
custom timer. Replace the values
as needed. */
// Create a timer instance
timer myTimer = timer();
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the Brain to use Brain.Timer
brain Brain = brain();
reset#
Stellt den Timer auf Null.
Available Functionsvoid reset();
Diese Funktion akzeptiert keine Parameter.
Return ValuesDiese Funktion gibt keinen Wert zurück.
Exampleswhile (true) {
// Clear the timer every time the screen is pressed
if (Brain.Screen.pressing()) {
myTimer.reset();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.value());
wait(50, msec);
}
value#
Gibt den aktuellen Wert des Timers zurück.
Available Functionsdouble value();
Diese Funktion akzeptiert keine Parameter.
Return ValuesEin Gleitkommawert, der die verstrichene Zeit in Sekunden angibt.
NotesDer Timer beginnt zu zählen, sobald er zusammengebaut ist.
Calling
resetresets the timer value to zero.
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.value());
wait(50, msec);
}
event#
Registriert eine Callback-Funktion, die nach einer festgelegten Verzögerung ausgeführt werden soll.
Available Functions1 — Registriert eine Rückruffunktion, die nach einer bestimmten Verzögerung ausgeführt wird, und übergibt einen benutzerdefinierten Wert an die Rückruffunktion.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Registriert eine Rückruffunktion, die nach einer bestimmten Verzögerung ausgeführt wird.
static void event( void (*callback)(void), uint32_t value );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die nach der angegebenen Verzögerung aufgerufen wird und ein benutzerdefiniertes Argument empfängt. |
|
|
Eine Funktion, die nach der angegebenen Verzögerung aufgerufen wird. |
|
|
Die Verzögerung in Millisekunden, bevor die Callback-Funktion ausgeführt wird. |
Diese Funktion gibt keinen Wert zurück.
NotesDiese Funktion plant einen einmaligen Rückruf; sie wird nicht automatisch wiederholt.
Die Callback-Funktion muss
voidzurückgeben.Es können mehrere Veranstaltungen gleichzeitig stattfinden.
Definiere die Funktion (außerhalb von
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Registriere die Funktion innerhalb von
int main()int main() { /* vexcodeInit() is only required when using VEXcode. Remove vexcodeInit() if compiling in VS Code. */ vexcodeInit(); timer myTimer = timer(); // Call turnOrange after 2 seconds myTimer.event(turnOrange, 2000); }