Digitální vstup#

Zavedení#

Třída digital_in umožňuje procesoru EXP Brain číst digitální signál z externího zdroje, jako je spínač nebo senzor. Detekuje, zda je vstupní linka na vysoké úrovni, tj. přijímá 5 voltů, nebo na nízké, tj. přijímá 0 voltů. To lze použít k určení stavů zapnuto/vypnuto nebo ke spouštění událostí v projektu.

Konstruktory tříd#

digital_in(
  triport::port &port );

Destruktor tříd#

Zničí objekt digital_in a uvolní přidružené prostředky.

~digital_in();

Parametry#

Parametr

Typ

Popis

port

triport::port &

3vodičový port, ke kterému je připojeno digitální vstupní zařízení, zapsaný jako Brain.ThreeWirePort.X nebo ExpanderName.X, kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.A).

Příklad#

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

Členské funkce#

Třída digital_in obsahuje následující členské funkce:

  • value — Vrací, zda port Digital In přijímá signál s vysokou nebo nízkou úrovní.

  • high — Registruje funkci, která má být volána vždy, když zařízení Digital In odešle signál s vysokou úrovní.

  • low — Registruje funkci, která má být volána vždy, když zařízení Digital In odešle signál nízké úrovně.

Před voláním jakékoli členské funkce digital_in musí být vytvořena instance digital_in , jak je znázorněno níže:

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

Vrací, zda port Digital In přijímá signál s vysokou nebo nízkou úrovní.

Dostupné funkce

int32_t value();

Parametry

Tato funkce nepřijímá žádné parametry.

Návratové hodnoty

Vrací int32_t reprezentující aktuální stav digitálního signálu:

  • 1 – Port digitálního vstupu přijímá vysoký signál (přibližně 5 V).

  • 0 – Port digitálního vstupu přijímá nízký signál (přibližně 0 V).

high#

Registruje funkci, která má být volána vždy, když zařízení Digital In odešle signál s vysokým napětím (přibližně 5 V).

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

Parameters

Parametr

Typ

Popis

callback

void (* callback)(void)

Funkce, která bude volána, když je vstup vysoký.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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#

Registruje funkci, která má být volána vždy, když zařízení Digital In odešle nízký signál (přibližně 0 V).

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

Parameters

Parametr

Typ

Popis

callback

void (* callback)(void)

Funkce, která bude volána, když je vstup nízký.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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);
}