Цифровой В#

Введение#

Класс digital_in позволяет EXP 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#

Регистрирует функцию, которая будет вызываться всякий раз, когда устройство Digital In посылает высокий сигнал (приблизительно 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#

Регистрирует функцию, которая будет вызываться всякий раз, когда устройство Digital In посылает низкий сигнал (приблизительно 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);
}