Analog ingång#

Introduktion#

Klassen analog_in används för att läsa analoga insignaler från enheter anslutna till en VEX EXP 3-trådsport. Den ger åtkomst till det aktuella analoga värdet och gör det möjligt att registrera återuppringningsfunktioner för värdeändringar.

Klasskonstruktörer#

analog_in(
    triport::port &port );

Klassförstörare#

Förstör analog_in objektet och frigör tillhörande resurser.

~analog_in();

Parametrar#

Parameter

Typ

Beskrivning

port

triport::port&

Den 3-trådsport som den analoga ingången är ansluten till, skriven som Brain.ThreeWirePort.X eller ExpanderName.X, där X är portbokstaven (till exempel Brain.ThreeWirePort.A eller Expander1.A).

Exempel#

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

Medlemsfunktioner#

Klassen analog_in innehåller följande medlemsfunktioner:

  • value — Returnerar värdet för den analoga ingångsenheten.

  • changed — Registrerar en återuppringningsfunktion för när det analoga ingångsvärdet ändras.

Innan några analog_in medlemsfunktioner anropas måste en analog_in instans skapas, som visas nedan:

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

Returnerar det aktuella värdet för den analoga ingången.

Available Functions
int32_t value(
  analogUnits units );

Parameters

Parameter

Typ

Beskrivning

units

analogUnits

Enheten som representerar värdet:

  • range8bit — 8-bitars analogt värde (ett värde med 256 möjliga tillstånd)
  • range10bit — 10-bitars analogt värde (ett värde med 1024 möjliga tillstånd)
  • range12bit — 12-bitars analogt värde (ett värde med 4096 möjliga tillstånd)
  • pct — procentandel
  • mV — millivolt

Return Values

Denna funktion returnerar det aktuella värdet för den analoga ingången.

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

changed#

Registrerar en återuppringningsfunktion som ska anropas när värdet på den analoga ingången ändras.

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

Parameters

Parameter

Typ

Beskrivning

callback

void (* callback)(void)

En funktion som anropas när värdet på den analoga ingången ändras.

Return Values

Den här funktionen returnerar inget värde.

Examples

Definiera callback-funktionen (utanför int main())

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

Registrera återuppringningen inuti 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);
}