Ajastin#
Johdanto#
timer -luokka on johdettu brain -perusluokasta ja tarjoaa toiminnon kuluneen ajan mittaamiseen, jolloin voit seurata kestoja ja ajoittaa aikaan perustuvia tapahtumia VEX V5 -ohjelmassa.
Pääsy#
Brain.Timer
Muistiinpanoja#
Brain.Timerontimer-luokan instanssi ja tarjoaa saman toiminnallisuuden.
Esimerkki#
/* 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);
}
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 brain -instanssi alla olevan mukaisesti:
// Create the V5 Brain
brain Brain = brain();
clear#
Nollaa ajastimen nykyisen arvon. Tämän jälkeen ajastin alkaa välittömästi laskea uudelleen nollasta.
Available Functionsvoid clear();
Tämä funktio ei hyväksy parametreja.
Return ValuesTämä funktio ei palauta arvoa.
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#
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 projekti käynnistyy.
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", Brain.Timer.time());
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(); // Call turnOrange after 2 seconds Brain.Timer.event(turnOrange, 2000); }