Digitaal in#

Invoering#

De klasse digital_in stelt de EXP Brain in staat een digitaal signaal van een externe bron, zoals een schakelaar of sensor, te lezen. Het detecteert of de ingangslijn hoog is (5 volt) of laag (0 volt). Dit kan worden gebruikt om aan/uit-statussen te bepalen of gebeurtenissen in een project te activeren.

Klasseconstructors#

digital_in(
  triport::port &port );

Klasse-destructor#

Vernietigt het digital_in object en geeft de bijbehorende resources vrij.

~digital_in();

Parameters#

Parameter

Type

Beschrijving

port

triport::port &

De 3-draads poort waarop het digitale invoerapparaat is aangesloten, wordt weergegeven als Brain.ThreeWirePort.X of ExpanderName.X, waarbij X de poortletter is (bijvoorbeeld Brain.ThreeWirePort.A of Expander1.A).

Voorbeeld#

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

Lidfuncties#

De klasse digital_in bevat de volgende lidfuncties:

  • value — Geeft aan of de digitale ingangspoort een hoog of laag signaal ontvangt.

  • high — Registreert een functie die wordt aangeroepen wanneer het digitale ingangsapparaat een hoog signaal verzendt.

  • low — Registreert een functie die wordt aangeroepen wanneer het digitale ingangsapparaat een laag signaal verzendt.

Voordat er lidfuncties van het type digital_in worden aangeroepen, moet er een instantie van digital_in worden aangemaakt, zoals hieronder wordt weergegeven:

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

Geeft aan of de digitale ingang een hoog of laag signaal ontvangt.

Beschikbare functies

int32_t value();

Parameters

Deze functie accepteert geen parameters.

retourwaarden

Retourneert een int32_t die de huidige digitale signaalstatus weergeeft:

  • 1 – De digitale ingang ontvangt een hoog signaal (ongeveer 5V).

  • 0 – De digitale ingang ontvangt een zwak signaal (ongeveer 0V).

high#

Registreert een functie die wordt aangeroepen wanneer het digitale ingangsapparaat een hoog signaal (ongeveer 5V) verzendt.

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

Parameters

Parameter

Type

Beschrijving

callback

void (* callback)(void)

Een functie die wordt aangeroepen wanneer de invoer hoog is.

Return Values

Deze functie retourneert geen waarde.

Examples

Definieer de callbackfunctie (buiten int main())

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

Registreer de callback binnen 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#

Registreert een functie die moet worden aangeroepen wanneer het digitale ingangsapparaat een laag signaal (ongeveer 0V) verzendt.

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

Parameters

Parameter

Type

Beschrijving

callback

void (* callback)(void)

Een functie die wordt aangeroepen wanneer de ingang laag is.

Return Values

Deze functie retourneert geen waarde.

Examples

Definieer de callbackfunctie (buiten int main())

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

Registreer de callback binnen 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);
}