Bộ hẹn giờ tùy chỉnh#

Giới thiệu#

Lớp timer được sử dụng để giữ thời gian và tương tác với bộ hẹn giờ độc lập với bộ hẹn giờ của Brain.

Hàm tạo lớp#

timer();

Lớp Destructor#

Hủy đối tượng hẹn giờ timer các tài nguyên liên quan.

~timer();

Thông số#

Hàm khởi tạo này không chấp nhận bất kỳ tham số nào.

Ví dụ#

// Create a timer instance
timer myTimer = timer();

Chức năng thành viên#

Lớp timer bao gồm các hàm thành viên sau:

  • clear — Đặt lại bộ đếm thời gian về không.

  • time — Trả về thời gian đã trôi qua kể từ khi bộ hẹn giờ bắt đầu.

  • event — Gọi một hàm sau một số mili giây được chỉ định, với các đối số tùy chọn.

Trước khi gọi bất kỳ hàm thành viên nào của bộ hẹn giờ timer , cần phải tạo một thể hiện của bộ hẹn giờ timer , như được hiển thị bên dưới:

/* This constructor is required to use a 
custom timer. Replace the values
as needed. */

// Create a timer instance
timer myTimer = timer();

clear#

Đặt bộ đếm thời gian về 0.

Available Functions
void clear();

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values

Hàm này không trả về giá trị nào.

Examples
while (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#

Trả về giá trị hiện tại của bộ đếm thời gian.

Available Functions

1 — Trả về thời gian đã trôi qua tính bằng mili giây.

uint32_t time() const;

2 — Trả về thời gian đã trôi qua theo đơn vị thời gian được chỉ định.

double time(
    timeUnits units ) const;

Parameters

Tham số

Kiểu

Sự miêu tả

units

timeUnits

Các đơn vị được sử dụng để trả về thời gian đã trôi qua:

  • seconds / sec — giây
  • msec — mili giây

Return Values
  • Hàm không tham số (1) trả về uint32_t biểu thị thời gian đã trôi qua tính bằng mili giây.

  • Hàm có tham số timeUnits (2) trả về double biểu thị thời gian đã trôi qua theo đơn vị được chỉ định.

Notes
  • Bộ đếm thời gian bắt đầu đếm khi bộ đếm thời gian tùy chỉnh được tạo.

  • Gọi clear đặt lại giá trị bộ hẹn giờ về không.

Examples
// 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#

Đăng ký một hàm gọi lại để được thực thi sau một khoảng thời gian trễ nhất định.

Available Functions

1 — Đăng ký một hàm gọi lại để chạy sau một khoảng thời gian trễ nhất định và truyền một giá trị do người dùng định nghĩa cho hàm gọi lại.

static void event(
    void (*callback)(void *),
    uint32_t value );

2 — Đăng ký một hàm gọi lại để chạy sau một khoảng thời gian trễ nhất định.

static void event(
    void (*callback)(void),
    uint32_t value );

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void *)

Một hàm sẽ được gọi sau khoảng thời gian trễ được chỉ định và nhận một đối số do người dùng định nghĩa.

callback

void (*)(void)

Một hàm sẽ được gọi sau khoảng thời gian trễ đã chỉ định.

value

uint32_t

Khoảng thời gian trễ, tính bằng mili giây, trước khi hàm gọi lại được thực thi.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Chức năng này lên lịch gọi lại một lần duy nhất; nó không tự động lặp lại.

  • Hàm gọi lại phải trả về void.

  • Nhiều sự kiện có thể được lên lịch cùng một lúc.

Examples

Định nghĩa hàm (bên ngoài int main())

// Create a function to turn the screen orange
void turnOrange() {
  Brain.Screen.clearScreen(orange);
}

Đăng ký hàm bên trong 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);
}