Skaitmeninė įvestis#

Įvadas#

Klasė digital_in leidžia EXP Brain nuskaityti skaitmeninį signalą iš išorinio šaltinio, pvz., jungiklio ar jutiklio. Ji aptinka, ar įvesties linija yra aukšta (gauna 5 voltus), ar žema (gauna 0 voltų). Tai gali būti naudojama norint nustatyti įjungimo/išjungimo būsenas arba sukelti įvykius projekte.

Klasės konstruktoriai#

digital_in(
  triport::port &port );

Klasės destruktorius#

Sunaikina objektą digital_in ir išlaisvina susijusius išteklius.

~digital_in();

Parametrai#

Parametras

Tipas

Aprašymas

port

triport::port &

3 laidų prievadas, prie kurio prijungtas skaitmeninės įvesties įrenginys, užrašomas kaip Brain.ThreeWirePort.X arba ExpanderName.X, kur X yra prievado raidė (pavyzdžiui, Brain.ThreeWirePort.A arba Expander1.A).

Pavyzdys#

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

Narių funkcijos#

digital_in klasė apima šias narių funkcijas:

  • value – Grąžina, ar skaitmeninio įvesties prievadas gauna aukštą, ar žemą signalą.

  • high – Registruoja funkciją, kuri bus iškviečiama kaskart, kai skaitmeninio įvesties įrenginys siųs aukštą signalą.

  • low – Registruoja funkciją, kuri bus iškviečiama kaskart, kai skaitmeninio įvesties įrenginys siųs žemą signalą.

Prieš iškviečiant bet kokias digital_in narių funkcijas, reikia sukurti digital_in egzempliorių, kaip parodyta žemiau:

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

Grąžina, ar skaitmeninio įvesties prievadas gauna aukštą, ar žemą signalą.

Galimos funkcijos

int32_t value();

Parametrai

Ši funkcija nepriima jokių parametrų.

Grąžinamosios reikšmės

Grąžina int32_t , rodantį dabartinę skaitmeninio signalo būseną:

  • 1 – Skaitmeninės įvesties prievadas gauna stiprų signalą (maždaug 5 V).

  • 0 – Skaitmeninės įvesties prievadas gauna silpną signalą (maždaug 0 V).

high#

Registruoja funkciją, kuri bus iškviečiama kaskart, kai skaitmeninio įvesties įrenginys siųs aukštą signalą (maždaug 5 V).

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (* callback)(void)

Funkcija, kuri bus iškviečiama, kai įvesties signalas bus aukštas.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Apibrėžkite grįžtamojo ryšio funkciją (už int main())

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

Registruokite atgalinį iškvietimą int main() viduje

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#

Registruoja funkciją, kuri bus iškviečiama kaskart, kai skaitmeninio įvesties įrenginys siųs žemą signalą (maždaug 0 V).

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

Parameters

Parametras

Tipas

Aprašymas

callback

void (* callback)(void)

Funkcija, kuri bus iškviečiama, kai įvestis bus maža.

Return Values

Ši funkcija negrąžina reikšmės.

Examples

Apibrėžkite grįžtamojo ryšio funkciją (už int main())

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

Registruokite atgalinį iškvietimą int main() viduje

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);
}