Digital In#

Einführung#

Die Klasse digital_in ermöglicht es dem V5 Brain, ein digitales Signal von einer externen Quelle, wie z. B. einem Schalter oder Sensor, zu lesen. Sie erkennt, ob die Eingangsleitung auf High-Pegel (5 Volt) oder Low-Pegel (0 Volt) liegt. Dies kann verwendet werden, um Ein-/Aus-Zustände zu bestimmen oder Ereignisse in einem Projekt auszulösen.

Klassenkonstruktoren#

digital_in(
  triport::port &port );

Klassendestruktor#

Zerstört das Objekt digital_in und gibt die zugehörigen Ressourcen frei.

~digital_in();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port &

Der 3-Draht-Anschluss, an den das digitale Eingabegerät angeschlossen ist, wird als Brain.ThreeWirePort.X oder ExpanderName.Xgeschrieben, wobei X der Anschlussbuchstabe ist (zum Beispiel Brain.ThreeWirePort.A oder Expander1.A).

Beispiel#

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

Mitgliedsfunktionen#

Die Klasse digital_in enthält die folgenden Memberfunktionen:

  • value — Gibt zurück, ob der Digital In-Port ein High- oder Low-Signal empfängt.

  • high — Registriert eine Funktion, die aufgerufen werden soll, wenn das Digital In-Gerät ein High-Signal sendet.

  • low — Registriert eine Funktion, die aufgerufen werden soll, wenn das Digital In-Gerät ein Low-Signal sendet.

Bevor Sie eine beliebige Memberfunktion digital_in aufrufen, muss eine Instanz digital_in erstellt werden, wie unten gezeigt:

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

Gibt zurück, ob der Digital In-Port ein hohes oder niedriges Signal empfängt.

Verfügbare Funktionen

int32_t value();

Parameter

Diese Funktion akzeptiert keine Parameter.

Rückgabewerte

Gibt einen int32_t zurück, der den aktuellen digitalen Signalzustand darstellt:

  • 1 – Der digitale Eingang empfängt ein hohes Signal (ungefähr 5 V).

  • 0 – Der digitale Eingang empfängt ein niedriges Signal (ungefähr 0 V).

high#

Registriert eine Funktion, die aufgerufen wird, sobald das Digital In-Gerät ein High-Signal (ungefähr 5 V) sendet.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (* callback)(void)

Eine Funktion, die aufgerufen wird, wenn der Eingang auf HIGH steht.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

Definiere die Callback-Funktion (außerhalb von int main())

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

Registriere den Callback innerhalb von 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#

Registriert eine Funktion, die aufgerufen wird, sobald das Digital In-Gerät ein niedriges Signal (ungefähr 0 V) ​​sendet.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (* callback)(void)

Eine Funktion, die aufgerufen wird, wenn der Eingang auf Low-Pegel liegt.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

Definiere die Callback-Funktion (außerhalb von int main())

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

Registriere den Callback innerhalb von 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);
}