Кінцевий вимикач#
Вступ#
Клас limit використовується з граничним вимикачем, невеликим цифровим датчиком, який виявляє фізичний контакт з об’єктом.

Конструктор класів#
limit(
triport::port &port);
Деструктор класів#
Знищує об’єкт limit та звільняє пов’язані з ним ресурси.
virtual ~limit();
Параметри#
Параметр |
Тип |
Опис |
|---|---|---|
|
|
3-провідний порт, до якого підключено граничний вимикач, що записується як |
Приклад#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Функції-члени#
Клас limit містить такі функції-члени:
pressing– Повертає, чи натискається кінцевий вимикач.pressed– Реєструє функцію, яка викликається щоразу, коли натискається граничний вимикач.released– Реєструє функцію, яка викликається щоразу, коли кінцевий вимикач відпускається.
Перед викликом будь-яких функцій-членів limit необхідно створити екземпляр limit , як показано нижче:
/* 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#
Повертає, чи натиснуто кінцевий вимикач. Це можна використовувати для перевірки, чи стикається робот з іншими об’єктами.
Available Functionsint32_t pressing();
Ця функція не приймає жодних параметрів.
Return ValuesПовертає значення int32_t , яке вказує, чи натискається кінцевий вимикач.
1— Натиснуто кінцевий вимикач.0— Кінцевий вимикач не натискається.
pressed#
Реєструє функцію, яка викликається при натисканні граничного вимикача.
Available Functionsvoid pressed(
void (* callback)(void) );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Вказівник на функцію, яка буде викликана при натисканні граничного вимикача. |
Ця функція не повертає значення.
ExamplesВизначити функцію зворотного виклику (поза
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Зареєструйте зворотний виклик всередині
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#
Реєструє функцію, яка викликається при відпусканні граничного вимикача.
Available Functionsvoid released(
void (* callback)(void) );
Параметр |
Тип |
Опис |
|---|---|---|
|
|
Вказівник на функцію, яка буде викликана при відпусканні граничного вимикача. |
Ця функція не повертає значення.
ExamplesВизначити функцію зворотного виклику (поза
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Зареєструйте зворотний виклик всередині
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); }