مؤقت مخصص#
مقدمة#
يتم استخدام فئة المؤقت timer للحفاظ على الوقت والتفاعل مع مؤقت مستقل عن مؤقت الدماغ.
مُنشئ الفئة#
timer();
مُدمِّر الفئة#
يقوم بتدمير الكائن timer وتحرير الموارد المرتبطة به.
~timer();
حدود#
لا يقبل هذا المُنشئ أي معلمات.
أمثلة#
// Create a timer instance
timer myTimer = timer();
الدوال الأعضاء#
تتضمن فئة المؤقت timer:
clear— يعيد ضبط المؤقت إلى الصفر.time— تُرجع الوقت المنقضي منذ بدء المؤقت.event— يستدعي دالة بعد عدد محدد من المللي ثانية، مع وسائط اختيارية.
قبل استدعاء أي من الدوال الأعضاء للمؤقت timer يجب إنشاء مثيل للمؤقت timer كما هو موضح أدناه:
/* This constructor is required to use a
custom timer. Replace the values
as needed. */
// Create a timer instance
timer myTimer = timer();
clear#
يضبط المؤقت على الصفر.
Available Functionsvoid clear();
لا تقبل هذه الدالة أي معلمات.
Return Valuesهذه الدالة لا تُرجع قيمة.
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#
يُعيد القيمة الحالية للمؤقت.
Available Functions1 — يُعيد الوقت المنقضي بالمللي ثانية.
uint32_t time() const;
Parameters2 — يُرجع الوقت المنقضي بوحدات الوقت المحددة.
double time( timeUnits units ) const;
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
The units used to return the elapsed time:
|
الدالة (1) التي لا تحتوي على معلمات تُرجع
uint32_tيمثل الوقت المنقضي بالمللي ثانية.الدالة التي تحتوي على معامل timeUnits
timeUnits) تُرجع قيمةdoubleتمثل الوقت المنقضي بالوحدات المحددة.
يبدأ المؤقت بالعد عند إنشاء المؤقت المخصص.
يؤدي استدعاء
clearإلى إعادة ضبط قيمة المؤقت إلى الصفر.
// 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#
يسجل دالة رد نداء ليتم تنفيذها بعد تأخير محدد.
Available Functions1 — يسجل دالة رد نداء ليتم تشغيلها بعد تأخير محدد ويمرر قيمة محددة من قبل المستخدم إلى دالة رد النداء.
static void event( void (*callback)(void *), uint32_t value );
Parameters2 — يسجل دالة رد نداء ليتم تشغيلها بعد تأخير محدد.
static void event( void (*callback)(void), uint32_t value );
المعلمة |
يكتب |
وصف |
|---|---|---|
|
|
دالة سيتم استدعاؤها بعد التأخير المحدد وتستقبل وسيطًا محددًا من قبل المستخدم. |
|
|
دالة سيتم استدعاؤها بعد التأخير المحدد. |
|
|
التأخير، بالمللي ثانية، قبل تنفيذ دالة الاستدعاء. |
هذه الدالة لا تُرجع قيمة.
Notesتقوم هذه الوظيفة بجدولة عملية رد نداء لمرة واحدة؛ فهي لا تتكرر تلقائيًا.
يجب أن تُرجع دالة الاستدعاء القيمة
void.قد يتم جدولة عدة فعاليات في نفس الوقت.
عرّف الدالة (خارج النطاق
int main())// Create a function to turn the screen orange void turnOrange() { Brain.Screen.clearScreen(orange); }قم بتسجيل الدالة داخل
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); }