Analogový vstup#

Zavedení#

Třída analog_in se používá ke čtení analogových vstupních signálů ze zařízení připojených k 3vodičovému portu VEX EXP. Poskytuje přístup k aktuální analogové hodnotě a umožňuje registraci funkcí zpětného volání pro změny hodnot.

Konstruktory tříd#

analog_in(
    triport::port &port );

Destruktor tříd#

Zničí objekt analog_in a uvolní přidružené prostředky.

~analog_in();

Parametry#

Parametr

Typ

Popis

port

triport::port&

3vodičový port, ke kterému je připojen analogový vstup, zapsaný jako Brain.ThreeWirePort.X nebo ExpanderName.X, kde X je písmeno portu (například Brain.ThreeWirePort.A nebo Expander1.A).

Příklad#

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

Členské funkce#

Třída analog_in obsahuje následující členské funkce:

  • value — Vrátí hodnotu analogového vstupního zařízení.

  • changed — Zaregistruje funkci zpětného volání pro případ změny hodnoty analogového vstupu.

Před voláním jakékoli členské funkce analog_in musí být vytvořena instance analog_in , jak je znázorněno níže:

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

Vrací aktuální hodnotu analogového vstupu.

Available Functions
int32_t value(
  analogUnits units );

Parameters

Parametr

Typ

Popis

units

analogUnits

Jednotka pro vyjádření hodnoty:

  • range8bit — 8bitová analogová hodnota (hodnota s 256 možnými stavy)
  • range10bit — 10bitová analogová hodnota (hodnota s 1024 možnými stavy)
  • range12bit — 12bitová analogová hodnota (hodnota s 4096 možnými stavy)
  • pct — procento
  • mV — milivolty

Return Values

Tato funkce vrací aktuální hodnotu analogového vstupu.

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

changed#

Registruje funkci zpětného volání, která se volá při změně hodnoty analogového vstupu.

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

Parameters

Parametr

Typ

Popis

callback

void (* callback)(void)

Funkce, která bude volána při změně hodnoty analogového vstupu.

Return Values

Tato funkce nevrací hodnotu.

Examples

Definujte callback funkci (mimo int main())

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

Zaregistrujte zpětné volání uvnitř 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);
}