Zamanlayıcı#
giriiş#
timer sınıfı, zamanı tutmak ve Beynin zamanlayıcısından bağımsız bir zamanlayıcıyla etkileşim kurmak için kullanılır.
Sınıf Oluşturucu#
timer();
Sınıf Yıkıcısı#
timer nesnesini yok eder ve ilgili kaynakları serbest bırakır.
~timer();
Parametreler#
Bu yapıcı fonksiyon herhangi bir parametre kabul etmez.
Örnekler#
// Create a timer instance
timer myTimer = timer();
Üye Fonksiyonları#
timer sınıfı aşağıdaki üye fonksiyonlarını içerir:
reset— Resets the timer to zero.value— Returns the elapsed time since the timer started.event— Belirtilen milisaniye sayısından sonra, isteğe bağlı argümanlarla bir fonksiyonu çağırır.
Herhangi bir timer üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi bir timer örneği oluşturulmalıdır:
/* 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#
Zamanlayıcıyı sıfıra ayarlar.
Available Functionsvoid reset();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesBu fonksiyon bir değer döndürmez.
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#
Zamanlayıcının mevcut değerini döndürür.
Available Functionsdouble value();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesGeçen süreyi saniye cinsinden temsil eden bir double değeri.
NotesZamanlayıcı, oluşturulduğu anda saymaya başlar.
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#
Belirtilen gecikmeden sonra çalıştırılacak bir geri çağırma fonksiyonunu kaydeder.
Available Functions1 — Belirtilen bir gecikmeden sonra çalıştırılacak bir geri çağırma işlevi kaydeder ve geri çağırma işlevine kullanıcı tanımlı bir değer iletir.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — Belirtilen gecikmeden sonra çalıştırılacak bir geri çağırma işlevi kaydeder.
static void event( void (*callback)(void), uint32_t value );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Belirtilen gecikmeden sonra çağrılacak ve kullanıcı tanımlı bir argüman alacak bir fonksiyon. |
|
|
Belirtilen gecikmeden sonra çağrılacak fonksiyon. |
|
|
Geri çağrı fonksiyonunun yürütülmesinden önce geçmesi gereken gecikme süresi (milisaniye cinsinden). |
Bu fonksiyon bir değer döndürmez.
NotesBu fonksiyon tek seferlik bir geri çağırma işlemi planlar; otomatik olarak tekrarlanmaz.
Geri çağrı fonksiyonu
voiddeğerini döndürmelidir.Aynı anda birden fazla etkinlik planlanabilir.
Fonksiyonu tanımlayın (
int main()dışında)// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }Fonksiyonu
int main()içinde kaydedin.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); }