Digital em#

Introdução#

A classe digital_in permite ao V5 Brain ler um sinal digital de uma fonte externa, como um interruptor ou sensor. Deteta se a linha de entrada está em nível alto (a receber 5 volts) ou baixo (a receber 0 volts). Isto pode ser utilizado para determinar estados de ligado/desligado ou acionar eventos num projeto.

Construtores de Classes#

digital_in(
  triport::port &port );

Destrutor de classes#

Destrói o objeto digital_in digital_in recursos associados.

~digital_in();

Parâmetros#

Parâmetro

Tipo

Descrição

port

triport::port &

A porta de 3 fios à qual o dispositivo de entrada digital está ligado, escrita como Brain.ThreeWirePort.X ou ExpanderName.X, em que X é a letra da porta (por exemplo, Brain.ThreeWirePort.A ou Expander1.A).

Exemplo#

// Create the digital_in instance on 3-Wire Port A
digital_in digin = digital_in(Brain.ThreeWirePort.A);

Funções de membro#

A classe digital_in inclui as seguintes funções membro:

  • value — Retorna se a porta de entrada digital está a receber um sinal alto ou baixo.

  • high — Regista uma função a ser chamada sempre que o dispositivo de entrada digital envia um sinal alto.

  • low — Regista uma função a ser chamada sempre que o dispositivo de entrada digital envia um sinal baixo.

Antes de chamar qualquer função membro de digital_in digital_in , deve ser criada uma instância de digital_in ( digital_in , como se mostra abaixo:

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

// Create the digital_in instance on 3-Wire Port A
digital_in DigitalInA = digital_in(Brain.ThreeWirePort.A);

value#

Retorna se a porta de entrada digital está a receber um sinal alto ou baixo.

Funções disponíveis

int32_t value();

Parâmetros

Esta função não aceita qualquer parâmetro.

Valores de retorno

Retorna um int32_t int32_t sinal digital:

  • 1 – A porta de entrada digital está a receber um sinal alto (aproximadamente 5V).

  • 0 – A porta de entrada digital está a receber um sinal baixo (aproximadamente 0V).

high#

Regista uma função a ser chamada sempre que o dispositivo de entrada digital envia um sinal alto (aproximadamente 5V).

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (* callback)(void)

Uma função que será chamada quando a entrada for alta.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

// Display that the input is high
void inputHigh() {
  Brain.Screen.print("digital input high");
}

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 inputHigh when the Digital Input is high
  DigitalInA.high(inputHigh);
}

low#

Regista uma função a ser chamada sempre que o dispositivo de entrada digital envia um sinal baixo (aproximadamente 0V).

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

Parameters

Parâmetro

Tipo

Descrição

callback

void (* callback)(void)

Uma função que será chamada quando a entrada for baixa.

Return Values

Esta função não devolve qualquer valor.

Examples

Defina a função de callback (fora de int main())

// Display that the input is low
void inputLow() {
  Brain.Screen.print("digital input low");
}

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 inputLow when the Digital Input is low
  DigitalInA.low(inputLow);
}