시간제 노동자#
소개#
timer 클래스는 brain 기본 클래스에서 파생되었으며 경과 시간을 측정하는 기능을 제공하여 VEX EXP 프로그램 내에서 지속 시간을 추적하고 시간 기반 이벤트를 예약할 수 있습니다.
입장#
Brain.Timer
메모#
Brain.Timer은timer클래스의 인스턴스이며 동일한 기능을 제공합니다.
예#
/* This constructor is required when using VS Code.
A Brain is generated automatically at the start of
VEXcode projects. */
// Create the EXP 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— 타이머를 0으로 재설정합니다.time— 타이머가 시작된 이후 경과된 시간을 반환합니다.event— 지정된 밀리초 후에 함수를 호출하며 선택적 인수를 사용합니다.
timer 멤버 함수를 호출하기 전에 아래와 같이 brain 인스턴스를 생성해야 합니다.
// Create the EXP Brain
brain Brain = brain();
clear#
타이머의 현재 값을 0으로 초기화합니다. 그 후, 타이머는 즉시 0부터 다시 카운트업을 시작합니다.
Available Functionsvoid clear();
이 함수는 매개변수를 받지 않습니다.
Return Values이 함수는 값을 반환하지 않습니다.
Exampleswhile (true) {
// Reset the timer every time the check button is pressed
if (Brain.buttonCheck.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를 호출하면 타이머 값이 0으로 재설정됩니다.
// 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); }