घड़ी#
परिचय#
timer क्लास brain बेस क्लास से व्युत्पन्न है और बीता हुआ समय मापने के लिए कार्यक्षमता प्रदान करता है, जिससे आप VEX V5 प्रोग्राम के भीतर अवधि को ट्रैक कर सकते हैं और समय-आधारित घटनाओं को शेड्यूल कर सकते हैं।
पहुँच#
Brain.Timer
नोट्स#
Brain.Timertimerवर्ग का एक उदाहरण है और समान कार्यक्षमता प्रदान करता है।
उदाहरण#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the V5 Brain
brain Brain = brain();
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", Brain.Timer.time());
wait(50, msec);
}
सदस्य कार्य#
timer क्लास में निम्नलिखित सदस्य फ़ंक्शन शामिल हैं:
clear— टाइमर को शून्य पर रीसेट करता है।time— टाइमर शुरू होने के बाद से बीता हुआ समय लौटाता है।event— निर्दिष्ट मिलीसेकंड की संख्या के बाद एक फ़ंक्शन को कॉल करता है, वैकल्पिक तर्कों के साथ।
किसी भी timer सदस्य फ़ंक्शन को कॉल करने से पहले, एक brain इंस्टेंस बनाना होगा, जैसा कि नीचे दिखाया गया है:
// Create the V5 Brain
brain Brain = brain();
clear#
टाइमर का वर्तमान मान शून्य पर रीसेट करता है। इसके बाद, टाइमर तुरंत शून्य से फिर से गिनती शुरू कर देता है।
Available Functionsvoid clear();
यह फ़ंक्शन कोई पैरामीटर स्वीकार नहीं करता है।
Return Valuesइस कार्य पर कीमत के लिहाज से कुछ भी रिटर्न नहीं मिलता है।
Exampleswhile (true) {
// Reset the timer every time the screen is pressed
if (Brain.Screen.pressing()) {
Brain.Timer.clear();
}
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", Brain.Timer.value());
wait(50, msec);
}
time#
टाइमर का वर्तमान मान लौटाता है।
Available Functions1 — मिलीसेकंड में बीता हुआ समय लौटाता है।
uint32_t time() const;
Parameters2 — निर्दिष्ट समय इकाइयों में बीता हुआ समय लौटाता है।
double time( timeUnits units ) const;
पैरामीटर |
प्रकार |
विवरण |
|---|---|---|
|
|
बीता हुआ समय लौटाने के लिए प्रयुक्त इकाइयाँ:
|
पैरामीटर रहित फ़ंक्शन (1) मिलीसेकंड में बीते समय को दर्शाने वाला
uint32_tलौटाता है।timeUnitsपैरामीटर (2) वाला फ़ंक्शन निर्दिष्ट इकाइयों में बीता हुआ समय दर्शाने वालाdoubleलौटाता है।
प्रोजेक्ट शुरू होते ही टाइमर गिनती शुरू कर देता है।
clearको कॉल करने से टाइमर का मान शून्य पर रीसेट हो जाता है।
// Display the timer as it ticks up
while (true) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print("Time: %.2f", Brain.Timer.time());
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(); // Call turnOrange after 2 seconds Brain.Timer.event(turnOrange, 2000); }