Entrada digital#

Introducción#

La clase digital_in permite que el cerebro V5 lea una señal digital de una fuente externa, como un interruptor o un sensor. Detecta si la línea de entrada está alta, recibiendo 5 voltios, o baja, recibiendo 0 voltios. Esto se puede utilizar para determinar los estados de encendido/apagado o desencadenar eventos en un proyecto.

Constructores de clase#

digital_in(
  triport::port &port );

Destructor de clase#

Destruye el objeto digital_in y libera los recursos asociados.

~digital_in();

Parámetros#

Parámetro

Tipo

Descripción

port

triport::port &

El puerto de 3 cables al que está conectado el dispositivo de entrada digital, escrito Brain.ThreeWirePort.X Brain.ThreeWirePort.X ExpanderName.XExpanderName.X, donde X es la letra del puerto (por ejemplo, Brain.ThreeWirePort.A o Expander1.A).

Ejemplo#

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

Funciones de los miembros#

La clase digital_in incluye las siguientes funciones de miembro:

  • value — Devuelve si el puerto de entrada digital está recibiendo una señal alta o baja.

  • high: registra una función que se llamará cada vez que el dispositivo de entrada digital envíe una señal alta.

  • low: registra una función que se llamará cada vez que el dispositivo de entrada digital envíe una señal baja.

Antes de llamar a cualquier función de miembro digital_in, se debe crear una instancia digital_in, como se muestra a continuación:

/* 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#

Devuelve si el puerto de entrada digital está recibiendo una señal alta o baja.

Funciones disponibles

int32_t value();

Parámetros

Esta función no acepta ningún parámetro.

Valores de devolución

Devuelve un int32_t que representa el estado actual de la señal digital:

  • 1 – El puerto de entrada digital está recibiendo una señal alta (aproximadamente 5 V).

  • 0 – El puerto de entrada digital está recibiendo una señal baja (aproximadamente 0 V).

high#

Registra una función que se llamará siempre que el dispositivo de entrada digital envíe una señal alta (aproximadamente 5 V).

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

Parameters

Parámetro

Tipo

Descripción

callback

void (* callback)(void)

Una función que se llamará cuando la entrada sea alta.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera de int main())

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

Registrar la devolución de llamada 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#

Registra una función que se llamará siempre que el dispositivo de entrada digital envíe una señal baja (aproximadamente 0 V).

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

Parameters

Parámetro

Tipo

Descripción

callback

void (* callback)(void)

Una función que se llamará cuando la entrada sea baja.

Return Values

Esta función no devuelve un valor.

Examples

Defina la función de devolución de llamada (fuera de int main())

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

Registrar la devolución de llamada 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);
}