Digital In#
Einführung#
Die Klasse digital_in ermöglicht es dem EXP 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 |
|---|---|---|
|
|
Der 3-Draht-Anschluss, an den das digitale Eingabegerät angeschlossen ist, wird als |
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 Functionsvoid high(
void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die aufgerufen wird, wenn der Eingang auf HIGH steht. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere 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 Functionsvoid low(
void (* callback)(void) );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Funktion, die aufgerufen wird, wenn der Eingang auf Low-Pegel liegt. |
Diese Funktion gibt keinen Wert zurück.
ExamplesDefiniere 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); }