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:
reset— Resets the timer to zero.value— Returns the elapsed time since the timer started.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();
/* 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#
Asettaa ajastimen nollaan.
Available Functionsvoid reset();
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.reset();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.value());
wait(50, msec);
}
value#
Palauttaa ajastimen nykyisen arvon.
Available Functionsdouble value();
Tämä funktio ei hyväksy parametreja.
Return ValuesKaksinkertainen arvo, joka edustaa kuluneen ajan määrää sekunteina.
NotesAjastin alkaa laskea, kun ajastin on koottu.
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#
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); }