Egyéni időzítő#
Bevezetés#
A timer osztály az idő mérésére és az agy időzítőjétől független időzítővel való interakcióra szolgál.
Osztálykonstruktor#
timer();
Osztálydestruktor#
Megsemmisíti a timer objektumot és felszabadítja a hozzá tartozó erőforrásokat.
~timer();
Paraméterek#
Ez a konstruktor nem fogad el paramétereket.
Példák#
// Create a timer instance
timer myTimer = timer();
Tagfüggvények#
A timer osztály a következő tagfüggvényeket tartalmazza:
clear— Nullára állítja az időzítőt.time— Visszaadja az időzítő indítása óta eltelt időt.event— Megadott számú ezredmásodperc elteltével meghív egy függvényt, opcionális argumentumokkal.
Bármely timer tagfüggvény meghívása előtt létre kell hozni egy timer példányt, az alábbiak szerint:
/* This constructor is required to use a
custom timer. Replace the values
as needed. */
// Create a timer instance
timer myTimer = timer();
clear#
Nullára állítja az időzítőt.
Available Functionsvoid clear();
Ez a függvény nem fogad el paramétereket.
Return ValuesEz a függvény nem ad vissza értéket.
Exampleswhile (true) {
// Clear the timer every time the screen is pressed
if (Brain.Screen.pressing()) {
myTimer.clear();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(msec));
wait(50, msec);
}
time#
Visszaadja az időzítő aktuális értékét.
Available Functions1 — Visszaadja az eltelt időt milliszekundumban.
uint32_t time() const;
Parameters2 — Visszaadja az eltelt időt a megadott időegységben.
double time( timeUnits units ) const;
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az eltelt idő visszaadásához használt mértékegységek:
|
A paraméter nélküli függvény (1) egy
uint32_tértéket ad vissza, amely az eltelt időt jelöli milliszekundumban.A
timeUnitsparaméterrel (2) rendelkező függvény egydoubleértéket ad vissza, amely a megadott egységben eltelt időt jelöli.
Az időzítő akkor kezd el számolni, amikor az egyéni időzítő elkészül.
A
clearfüggvény meghívása nullára állítja vissza az időzítő értékét.
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(sec));
wait(50, msec);
}
event#
Visszahívó függvényt regisztrál, amely egy megadott késleltetés után végrehajtódik.
Available Functions1 — Visszahívást regisztrál, amely egy megadott késleltetés után fut, és egy felhasználó által definiált értéket átad a visszahívásnak.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Visszahívást regisztrál, amely egy megadott késleltetés után fut.
static void event( void (*callback)(void), uint32_t value );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy függvény, amely a megadott késleltetés után meghívódik, és egy felhasználó által definiált argumentumot kap. |
|
|
Egy függvény, amely a megadott késleltetés után meghívódik. |
|
|
A visszahívó függvény végrehajtása előtti késleltetés milliszekundumban. |
Ez a függvény nem ad vissza értéket.
NotesEz a függvény egyszeri visszahívást ütemez; nem ismétlődik automatikusan.
A visszahívó függvénynek
voidértéket kell visszaadnia.Több esemény is ütemezhető egyszerre.
Definiáld a függvényt (
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Regisztráld a függvényt a
int main()karakterláncon belülint 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); }