Концевой выключатель#
Введение#
Класс limit используется с концевым выключателем — небольшим цифровым датчиком, который обнаруживает физический контакт с объектом.

Конструктор класса#
limit(
triport::port &port);
Деструктор класса#
Уничтожает объект с лимитом limit и освобождает связанные с ним ресурсы.
virtual ~limit();
Параметры#
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Трехпроводной порт, к которому подключен концевой выключатель, обозначается как |
Пример#
// 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); }