Taimeris#
Ievads#
timer klase tiek izmantota, lai uzturētu laiku un mijiedarbotos ar taimeri neatkarīgi no smadzeņu taimera.
Klases konstruktors#
timer();
Klases iznīcinātājs#
Iznīcina timer objektu un atbrīvo saistītos resursus.
~timer();
Parametri#
Šis konstruktors nepieņem nekādus parametrus.
Piemēri#
// Create a timer instance
timer myTimer = timer();
Dalībnieku funkcijas#
timer klase ietver šādas dalībfunkcijas:
reset— Resets the timer to zero.value— Returns the elapsed time since the timer started.event— Izsauc funkciju pēc noteikta milisekundžu skaita ar papildu argumentiem.
Pirms jebkuru timer dalībfunkciju izsaukšanas ir jāizveido timer instance, kā parādīts zemāk:
/* 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#
Iestata taimeri uz nulli.
Available Functionsvoid reset();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesŠī funkcija neatgriež vērtību.
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#
Atgriež taimera pašreizējo vērtību.
Available Functionsdouble value();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesDubultskaitlis, kas apzīmē pagājušo laiku sekundēs.
NotesTaimeris sāk skaitīt, kad tas ir uzbūvēts.
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#
Reģistrē atzvanīšanas funkciju, kas tiks izpildīta pēc noteiktas aizkaves.
Available Functions1 — Reģistrē atzvanīšanas pieprasījumu, lai tas tiktu izpildīts pēc noteiktas aizkaves, un nodod atzvanīšanas pieprasījumam lietotāja definētu vērtību.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Reģistrē atzvanīšanas pieprasījumu, lai tas tiktu palaists pēc noteiktas aizkaves.
static void event( void (*callback)(void), uint32_t value );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Funkcija, kas tiks izsaukta pēc norādītās aizkaves un saņem lietotāja definētu argumentu. |
|
|
Funkcija, kas tiks izsaukta pēc norādītās aizkaves. |
|
|
Kavēšanās milisekundēs pirms atzvanīšanas funkcijas izpildes. |
Šī funkcija neatgriež vērtību.
NotesŠī funkcija ieplāno vienreizēju atzvanu; tā neatkārtojas automātiski.
Atzvanīšanas funkcijai ir jāatgriež
void.Vienlaikus var tikt ieplānoti vairāki pasākumi.
Definējiet funkciju (ārpus
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Reģistrējiet funkciju
int main()iekšpusē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); }