Аналоговый вход#

Введение#

Класс analog_in analog_in используется для считывания аналоговых входных сигналов от устройств, подключенных к порту VEX EXP 3-Wire. Он обеспечивает доступ к текущему аналоговому значению и позволяет регистрировать функции обратного вызова для изменения значения.

Конструкторы классов#

analog_in(
    triport::port &port );

Деструктор класса#

Уничтожает объект analog_in и освобождает связанные с ним ресурсы.

~analog_in();

Параметры#

Параметр

Тип

Описание

port

triport::port&

Трехпроводной порт, к которому подключен аналоговый вход, обозначается как Brain.ThreeWirePort.X или ExpanderName.X, где X — буква порта (например, Brain.ThreeWirePort.A или Expander1.A).

Пример#

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

Функции участников#

Класс analog_in включает следующие функции-члены:

  • value — Возвращает значение устройства аналогового входа.

  • changed — Регистрирует функцию обратного вызова при изменении значения аналогового входа.

Перед вызовом любых функций-членов analog_in analog_in необходимо создать экземпляр analog_in analog_in , как показано ниже:

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

Возвращает текущее значение аналогового входа.

Available Functions
int32_t value(
  analogUnits units );

Parameters

Параметр

Тип

Описание

units

analogUnits

Единица измерения значения:

  • range8bit — 8-битное аналоговое значение (значение с 256 возможными состояниями)
  • range10bit — 10-битное аналоговое значение (значение с 1024 возможными состояниями)
  • range12bit — 12-битное аналоговое значение (значение с 4096 возможными состояниями)
  • pct — процент
  • mV — милливольты

Return Values

Эта функция возвращает текущее значение аналогового входа.

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

changed#

Регистрирует функцию обратного вызова, которая будет вызываться при изменении значения аналогового входа.

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

Parameters

Параметр

Тип

Описание

callback

void (* callback)(void)

Функция, которая будет вызываться при изменении значения аналогового входа.

Return Values

Эта функция не возвращает значения.

Examples

Определите функцию обратного вызова (вне int main())

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

Зарегистрируйте функцию обратного вызова внутри 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);
}