Mukautettu ajastin#
Johdanto#
timer -luokkaa käytetään ajan seuraamiseen ja vuorovaikutukseen ajastimen kanssa, joka on riippumaton aivojen ajastimesta.
Luokan rakentaja#
timer();
Luokan tuhoaja#
Tuhoaa timer -objektin ja vapauttaa siihen liittyvät resurssit.
~timer();
Parametrit#
Tämä konstruktori ei hyväksy parametreja.
Esimerkkejä#
// Create a timer instance
timer myTimer = timer();
Jäsenten toiminnot#
timer -luokka sisältää seuraavat jäsenfunktiot:
clear— Nollaa ajastimen.time— Palauttaa kuluneen ajan ajastimen käynnistymisestä.event— Kutsuu funktiota määritetyn millisekuntien määrän kuluttua, valinnaisilla argumenteilla.
Ennen minkään timer -jäsenfunktion kutsumista on luotava timer -instanssi alla olevan mukaisesti:
/* This constructor is required to use a
custom timer. Replace the values
as needed. */
// Create a timer instance
timer myTimer = timer();
clear#
Asettaa ajastimen nollaan.
Available Functionsvoid clear();
Tämä funktio ei hyväksy parametreja.
Return ValuesTämä funktio ei palauta arvoa.
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#
Palauttaa ajastimen nykyisen arvon.
Available Functions1 — Palauttaa kuluneen ajan millisekunteina.
uint32_t time() const;
Parameters2 — Palauttaa kuluneen ajan määritetyissä aikayksiköissä.
double time( timeUnits units ) const;
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Kuluneen ajan palauttamiseen käytetyt yksiköt:
|
Parametriton funktio (1) palauttaa arvon
uint32_tjoka edustaa kulunutta aikaa millisekunteina.The function with a
timeUnitsparameter (2) returns adoublerepresenting the elapsed time in the specified units.
Ajastin alkaa laskea aikaa, kun mukautettu ajastin on rakennettu.
Funktion
clearkutsuminen nollaa ajastimen arvon.
// 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#
Rekisteröi takaisinkutsufunktion suoritettavaksi määritetyn viiveen jälkeen.
Available Functions1 — Rekisteröi takaisinkutsun suoritettavaksi määritetyn viiveen jälkeen ja välittää käyttäjän määrittämän arvon takaisinkutsulle.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Rekisteröi takaisinkutsutoiminnon suoritettavaksi määritetyn viiveen jälkeen.
static void event( void (*callback)(void), uint32_t value );
Parametri |
Tyyppi |
Kuvaus |
|---|---|---|
|
|
Funktio, jota kutsutaan määritetyn viiveen jälkeen ja joka vastaanottaa käyttäjän määrittämän argumentin. |
|
|
Funktio, jota kutsutaan määritetyn viiveen jälkeen. |
|
|
Viive millisekunteina ennen takaisinkutsufunktion suorittamista. |
Tämä funktio ei palauta arvoa.
NotesTämä funktio ajoittaa kertaluonteisen takaisinkutsun; se ei toistu automaattisesti.
Takaisinkutsufunktion on palautettava
void.Useita tapahtumia voidaan ajoittaa samaan aikaan.
Määrittele funktio (
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Rekisteröi funktio
int main()sisälleint 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); }