Аналоговий вхід#

Вступ#

Клас analog_in використовується для зчитування аналогових вхідних сигналів з пристроїв, підключених до 3-провідного порту VEX EXP. Він забезпечує доступ до поточного аналогового значення та дозволяє реєструвати функції зворотного виклику для зміни значення.

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

analog_in(
    triport::port &port );

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

Знищує об’єкт analog_in та звільняє пов’язані з ним ресурси.

~analog_in();

Параметри#

Параметр

Тип

Опис

port

triport::port&

3-провідний порт, до якого підключено аналоговий вхід, записується як 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 , як показано нижче:

/* 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);
}