Pengatur waktu#
Perkenalan#
Kelas timer digunakan untuk menjaga waktu dan berinteraksi dengan timer yang independen dari timer Otak.
Konstruktor Kelas#
timer();
Destruktor Kelas#
Menghancurkan objek timer dan melepaskan sumber daya terkait.
~timer();
Parameter#
Konstruktor ini tidak menerima parameter apa pun.
Contoh#
// Create a timer instance
timer myTimer = timer();
Fungsi Keanggotaan#
Kelas timer mencakup fungsi anggota berikut:
reset— Resets the timer to zero.value— Returns the elapsed time since the timer started.event— Memanggil fungsi setelah sejumlah milidetik tertentu, dengan argumen opsional.
Sebelum memanggil fungsi anggota timer timer apa pun, sebuah instance timer timer harus dibuat, seperti yang ditunjukkan di bawah ini:
/* 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#
Mengatur timer ke nol.
Available Functionsvoid reset();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesFungsi ini tidak mengembalikan nilai.
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#
Mengembalikan nilai timer saat ini.
Available Functionsdouble value();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesAngka dua kali lipat yang mewakili jumlah waktu yang telah berlalu dalam detik.
NotesPenghitung waktu mulai menghitung saat penghitung waktu tersebut dibuat.
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#
Mendaftarkan fungsi callback yang akan dieksekusi setelah penundaan yang ditentukan.
Available Functions1 — Mendaftarkan fungsi callback untuk dijalankan setelah penundaan yang ditentukan dan meneruskan nilai yang ditentukan pengguna ke fungsi callback tersebut.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Mendaftarkan fungsi callback untuk dijalankan setelah penundaan yang ditentukan.
static void event( void (*callback)(void), uint32_t value );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Sebuah fungsi yang akan dipanggil setelah penundaan yang ditentukan dan menerima argumen yang ditentukan pengguna. |
|
|
Sebuah fungsi yang akan dipanggil setelah penundaan yang ditentukan. |
|
|
Penundaan, dalam milidetik, sebelum fungsi callback dieksekusi. |
Fungsi ini tidak mengembalikan nilai.
NotesFungsi ini menjadwalkan panggilan balik satu kali; fungsi ini tidak berulang secara otomatis.
Fungsi callback harus mengembalikan
void.Beberapa acara dapat dijadwalkan pada waktu yang bersamaan.
Definisikan fungsi (di luar
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Daftarkan fungsi di dalam
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); }