Interruptor de fim de curso#
Introdução#
A classe limit é utilizada com o interruptor de fim de curso, um pequeno sensor digital que deteta o contacto físico com um objeto.

Construtor de Classes#
limit(
triport::port &port);
Destrutor de classes#
Destroys the limit object and releases associated resources.
virtual ~limit();
Parâmetros#
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
A porta de 3 fios à qual o interruptor de fim de curso está ligado, escrita como |
Exemplo#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Funções de membro#
A classe limit inclui as seguintes funções membro:
pressing– Retorna se o interruptor de fim de curso está a ser premido.pressed– Regista uma função a ser chamada sempre que o interruptor de fim de curso é premido.released– Regista uma função a ser chamada sempre que o interruptor de fim de curso é libertado.
Antes de chamar qualquer função membro de limit , deve ser criada uma instância limit , como se mostra abaixo:
/* 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#
Retorna se o interruptor de fim de curso está a ser pressionado. Isto pode ser utilizado para verificar se o robô colide com outros objetos.
Available Functionsint32_t pressing();
Esta função não aceita qualquer parâmetro.
Return ValuesRetorna um int32_t indicando se o interruptor de fim de curso está a ser premido.
1— O interruptor de fim de curso está a ser premido.0— O interruptor de fim de curso não está a ser premido.
pressed#
Regista uma função a ser chamada quando o interruptor de fim de curso é premido.
Available Functionsvoid pressed(
void (* callback)(void) );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Um ponteiro para uma função que será chamada quando o interruptor de fim de curso for premido. |
Esta função não devolve qualquer valor.
ExamplesDefina a função de callback (fora de
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Registe o callback dentro de
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#
Regista uma função a ser chamada quando o interruptor de fim de curso for libertado.
Available Functionsvoid released(
void (* callback)(void) );
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
|
Um ponteiro para uma função que será chamada quando o interruptor de fim de curso for libertado. |
Esta função não devolve qualquer valor.
ExamplesDefina a função de callback (fora de
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Registe o callback dentro de
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); }