Analoger Eingang#

Einführung#

Die Klasse `analog_in dient zum Einlesen analoger Eingangssignale von Geräten, die an einen VEX V5 3-Draht-Port angeschlossen sind. Sie ermöglicht den Zugriff auf den aktuellen Analogwert und die Registrierung von Rückruffunktionen für Wertänderungen.

Klassenkonstruktoren#

analog_in(
    triport::port &port );

Klassendestruktor#

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

~analog_in();

Parameter#

Parameter

Typ

Beschreibung

port

triport::port&

Der 3-Draht-Anschluss, an den der analoge Eingang angeschlossen ist, wird als Brain.ThreeWirePort.X oder ExpanderName.Xgeschrieben, wobei X der Portbuchstabe ist (zum Beispiel Brain.ThreeWirePort.A oder Expander1.A).

Beispiel#

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

Mitgliedsfunktionen#

Die Klasse analog_in enthält die folgenden Memberfunktionen:

  • value — Gibt den Wert des Analog-Eingangsgeräts zurück.

  • changed — Registriert eine Rückruffunktion, die aufgerufen wird, wenn sich der Wert des analogen Eingangs ändert.

Bevor Sie eine der Memberfunktionen vom Typ analog_in aufrufen, muss eine Instanz analog_in erstellt werden, wie unten gezeigt:

/* This constructor is required to use an
Analog Input device. Replace the values
as needed. */

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

value#

Gibt den aktuellen Wert des analogen Eingangs zurück.

Available Functions
int32_t value(
  analogUnits units );

Parameters

Parameter

Typ

Beschreibung

units

analogUnits

Die Einheit zur Darstellung des Wertes:

  • range8bit — 8-Bit-Analogwert (ein Wert mit 256 möglichen Zuständen)
  • range10bit — 10-Bit-Analogwert (ein Wert mit 1024 möglichen Zuständen)
  • range12bit — 12-Bit-Analogwert (ein Wert mit 4096 möglichen Zuständen)
  • pct — Prozent
  • mV — Millivolt

Return Values

Diese Funktion gibt den aktuellen Wert des analogen Eingangs zurück.

Examples
// Get the current value of the Analog Input
int32_t value = AnalogInA.value();

changed#

Registriert eine Rückruffunktion, die aufgerufen wird, wenn sich der Wert des analogen Eingangs ändert.

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

Parameters

Parameter

Typ

Beschreibung

callback

void (* callback)(void)

Eine Funktion, die aufgerufen wird, wenn sich der Wert des analogen Eingangs ändert.

Return Values

Diese Funktion gibt keinen Wert zurück.

Examples

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

// Display a message when the input changes
void AnalogInputChanged() {
  Brain.Screen.print("analog input changed");
}

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 AnalogInputChanged when the value of the
  // Analog Input changes
  AnalogInA.changed(AnalogInputChanged);
}