Analoog in#

Invoering#

De klasse analog_in wordt gebruikt om analoge ingangssignalen te lezen van apparaten die zijn aangesloten op een VEX EXP 3-Wire-poort. Deze klasse biedt toegang tot de huidige analoge waarde en maakt het mogelijk om callback-functies te registreren voor waardeveranderingen.

Klasseconstructors#

analog_in(
    triport::port &port );

Klasse-destructor#

Vernietigt het analog_in object en geeft de bijbehorende resources vrij.

~analog_in();

Parameters#

Parameter

Type

Beschrijving

port

triport::port&

De 3-draads poort waarop de analoge ingang 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 analog_in instance on 3-Wire Port A
analog_in AnalogInA = analog_in(Brain.ThreeWirePort.A);

Lidfuncties#

De klasse analog_in bevat de volgende lidfuncties:

  • value — Geeft de waarde van het analoge invoerapparaat terug.

  • changed — Registreert een callbackfunctie voor wanneer de analoge ingangswaarde verandert.

Voordat er lidfuncties van analog_in kunnen worden aangeroepen, moet er een instantie van analog_in worden aangemaakt, zoals hieronder weergegeven:

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

Geeft de huidige waarde van de analoge ingang terug.

Available Functions
int32_t value(
  analogUnits units );

Parameters

Parameter

Type

Beschrijving

units

analogUnits

De eenheid die de waarde weergeeft:

  • range8bit — 8-bits analoge waarde (een waarde met 256 mogelijke toestanden)
  • range10bit — 10-bits analoge waarde (een waarde met 1024 mogelijke toestanden)
  • range12bit — 12-bits analoge waarde (een waarde met 4096 mogelijke toestanden)
  • pct — percentage
  • mV — millivolt

Return Values

Deze functie retourneert de huidige waarde van de analoge ingang.

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

changed#

Registreert een callbackfunctie die wordt aangeroepen wanneer de waarde van de analoge ingang verandert.

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

Parameters

Parameter

Type

Beschrijving

callback

void (* callback)(void)

Een functie die wordt aangeroepen wanneer de waarde van de analoge ingang verandert.

Return Values

Deze functie retourneert geen waarde.

Examples

Definieer de callbackfunctie (buiten int main())

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

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