Laikmatis#
Įvadas#
timer klasė naudojama laikui sekti ir sąveikauti su laikmačiu, nepriklausomu nuo smegenų laikmačio.
Klasės konstruktorius#
timer();
Klasės destruktorius#
Sunaikina timer objektą ir išlaisvina susijusius išteklius.
~timer();
Parametrai#
Šis konstruktorius nepriima jokių parametrų.
Pavyzdžiai#
// Create a timer instance
timer myTimer = timer();
Narių funkcijos#
timer klasėje yra šios narių funkcijos:
reset— Resets the timer to zero.value— Returns the elapsed time since the timer started.event— Iškviečia funkciją po nurodyto milisekundžių skaičiaus su pasirenkamais argumentais.
Prieš iškviečiant bet kokias timer nario funkcijas, reikia sukurti timer egzempliorių, kaip parodyta žemiau:
/* 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#
Nustato laikmatį į nulį.
Available Functionsvoid reset();
Ši funkcija nepriima jokių parametrų.
Return ValuesŠi funkcija negrąžina reikšmės.
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#
Grąžina dabartinę laikmačio reikšmę.
Available Functionsdouble value();
Ši funkcija nepriima jokių parametrų.
Return ValuesDvigubas skaičius, rodantis praėjusį laiką sekundėmis.
NotesLaikmatis pradeda skaičiuoti, kai jis sukonstruojamas.
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#
Registruoja atgalinio iškvietimo funkciją, kuri bus vykdoma po nurodyto uždelsimo.
Available Functions1 — Registruoja grįžtamąjį iškvietimą, kuris būtų vykdomas po nurodyto uždelsimo, ir perduoda grįžtamajam iškvietimui vartotojo apibrėžtą reikšmę.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Registruoja grįžtamąjį iškvietimą, kuris bus vykdomas po nurodyto uždelsimo.
static void event( void (*callback)(void), uint32_t value );
Parametras |
Tipas |
Aprašymas |
|---|---|---|
|
|
Funkcija, kuri bus iškviečiama po nurodyto uždelsimo ir gaus vartotojo apibrėžtą argumentą. |
|
|
Funkcija, kuri bus iškviesta po nurodyto uždelsimo laiko. |
|
|
Vėlavimas milisekundėmis prieš vykdant atgalinio iškvietimo funkciją. |
Ši funkcija negrąžina reikšmės.
NotesŠi funkcija suplanuoja vienkartinį grįžtamąjį iškvietimą; ji automatiškai nesikartoja.
Atgalinio iškvietimo funkcija turi grąžinti
void.Gali būti suplanuoti keli renginiai vienu metu.
Apibrėžkite funkciją (už
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Užregistruokite funkciją viduje
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); }