Цифровий вхід#

Вступ#

Клас digital_in дозволяє V5 Brain зчитувати цифровий сигнал із зовнішнього джерела, такого як перемикач або датчик. Він визначає, чи є вхідна лінія високою, приймаючи 5 вольт, чи низькою, приймаючи 0 вольт. Це можна використовувати для визначення станів увімкнено/вимкнено або запуску подій у проекті.

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

digital_in(
  triport::port &port );

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

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

~digital_in();

Параметри#

Параметр

Тип

Опис

port

triport::port &

3-провідний порт, до якого підключено пристрій цифрового введення, що записується як Brain.ThreeWirePort.X або ExpanderName.X, де X – літера порту (наприклад, Brain.ThreeWirePort.A або Expander1.A).

Приклад#

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

Функції-члени#

Клас digital_in містить такі функції-члени:

  • value — Повертає, чи отримує цифровий вхідний порт високий чи низький рівень сигналу.

  • high — Реєструє функцію, яка викликається щоразу, коли пристрій цифрового входу надсилає високий рівень сигналу.

  • low — Реєструє функцію, яка викликається щоразу, коли пристрій цифрового входу надсилає низький сигнал.

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

/* This constructor is required when using VS Code.
Digital input configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

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

value#

Повертає, чи отримує цифровий вхідний порт високий чи низький рівень сигналу.

Доступні функції

int32_t value();

Параметри

Ця функція не приймає жодних параметрів.

Повернених значень

Повертає значення int32_t , яке представляє поточний стан цифрового сигналу:

  • 1 – На цифровий вхід надходить сигнал високої напруги (приблизно 5 В).

  • 0 – На цифровий вхід надходить сигнал низької напруги (приблизно 0 В).

high#

Реєструє функцію, яка викликається щоразу, коли пристрій цифрового входу надсилає високий сигнал (приблизно 5 В).

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

Parameters

Параметр

Тип

Опис

callback

void (* callback)(void)

Функція, яка буде викликана, коли вхідний сигнал буде високим.

Return Values

Ця функція не повертає значення.

Examples

Визначити функцію зворотного виклику (поза int main())

// Display that the input is high
void inputHigh() {
  Brain.Screen.print("digital input high");
}

Зареєструйте зворотний виклик всередині int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run inputHigh when the Digital Input is high
  DigitalInA.high(inputHigh);
}

low#

Реєструє функцію, яка викликається щоразу, коли пристрій цифрового входу надсилає низький сигнал (приблизно 0 В).

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

Parameters

Параметр

Тип

Опис

callback

void (* callback)(void)

Функція, яка буде викликана, коли вхідний сигнал буде низьким.

Return Values

Ця функція не повертає значення.

Examples

Визначити функцію зворотного виклику (поза int main())

// Display that the input is low
void inputLow() {
  Brain.Screen.print("digital input low");
}

Зареєструйте зворотний виклик всередині int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run inputLow when the Digital Input is low
  DigitalInA.low(inputLow);
}