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ể.

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ả |
|---|---|---|
|
|
Cổng 3 dây mà công tắc giới hạn được kết nối, được viết là |
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 Functionsint32_t pressing();
Hàm này không chấp nhận bất kỳ tham số nào.
Return ValuesTrả 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 Functionsvoid pressed(
void (* callback)(void) );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Con trỏ trỏ đến một hàm sẽ được gọi khi công tắc giới hạn được nhấn. |
Hàm này không trả về giá trị nào.
ExamplesXá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 Functionsvoid released(
void (* callback)(void) );
Tham số |
Kiểu |
Sự miêu tả |
|---|---|---|
|
|
Con trỏ đến một hàm sẽ được gọi khi công tắc giới hạn được nhả ra. |
Hàm này không trả về giá trị nào.
ExamplesXá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); }