Công tắc giới hạn#

Giới thiệu#

Loại limit được sử dụng với Công tắc giới hạn, một cảm biến kỹ thuật số nhỏ phát hiện sự tiếp xúc vật lý với vật thể.

Công tắc giới hạn VEX EXP.

Hàm tạo lớp#

limit(
  triport::port &port);

Lớp Destructor#

Hủy bỏ đối tượng limit và giải phóng các tài nguyên liên quan.

virtual ~limit();

Thông số#

Tham số

Kiểu

Sự miêu tả

port

triport::port &

Cổng 3 dây mà công tắc giới hạn được kết nối, được viết là Brain.ThreeWirePort.X hoặc ExpanderName.X, trong đó X là ký tự của cổng (ví dụ: Brain.ThreeWirePort.A hoặc Expander1.A).

Ví dụ#

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

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

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

  • pressing – Trả về trạng thái liệu Công tắc Giới hạn có đang được nhấn hay không.

  • pressed – Đăng ký một hàm được gọi bất cứ khi nào Công tắc Giới hạn được nhấn.

  • released – Đăng ký một hàm được gọi bất cứ khi nào Công tắc Giới hạn được nhả ra.

Before calling any limit member functions, a limit instance must be created, as shown below:

/* This constructor is required when using VS Code.
Limit Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Trả về trạng thái cho biết công tắc giới hạn có đang được nhấn hay không. Điều này có thể được sử dụng để kiểm tra xem robot có va chạm với các vật thể khác hay không.

Available Functions
int32_t pressing();

Parameters

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

Return Values

Trả về giá trị int32_t cho biết công tắc giới hạn có đang được nhấn hay không.

  • 1 — Công tắc giới hạn đang được nhấn.

  • 0 — Công tắc giới hạn không được nhấn.

pressed#

Đăng ký một hàm sẽ được gọi khi công tắc giới hạn được nhấn.

Available Functions
void pressed(
  void (* callback)(void) );

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Con trỏ trỏ đến một hàm sẽ được gọi khi công tắc giới hạn được nhấn.

Return Values

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

Examples

Xác định hàm gọi lại (bên ngoài int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Đăng ký hàm gọi lại bên trong int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

Đăng ký một hàm sẽ được gọi khi công tắc giới hạn được nhả ra.

Available Functions
void released(
  void (* callback)(void) );

Parameters

Tham số

Kiểu

Sự miêu tả

callback

void (*)(void)

Con trỏ đến một hàm sẽ được gọi khi công tắc giới hạn được nhả ra.

Return Values

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

Examples

Xác định hàm gọi lại (bên ngoài int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Đăng ký hàm gọi lại bên trong int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}