Pielāgots 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:
clear— Atiestata taimeri uz nulli.time— Atgriež pagājušo laiku kopš taimera palaišanas.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();
clear#
Iestata taimeri uz nulli.
Available Functionsvoid clear();
Šī 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.clear();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", myTimer.time(msec));
wait(50, msec);
}
time#
Atgriež taimera pašreizējo vērtību.
Available Functions1 — Atgriež pagājušo laiku milisekundēs.
uint32_t time() const;
Parameters2 — Atgriež pagājušo laiku norādītajās laika vienībās.
double time( timeUnits units ) const;
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Pagājušā laika atgriešanai izmantotās mērvienības:
|
Bezparametru funkcija (1) atgriež
uint32_tkas attēlo pagājušo laiku milisekundēs.Funkcija ar
timeUnitsparametru (2) atgrieždoublekas attēlo pagājušo laiku norādītajās vienībās.
Taimeris sāk skaitīt laiku, kad ir izveidots pielāgotais taimeris.
Izsaucot
clear, taimera vērtība tiek atiestatīta uz nulli.
// 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#
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); }