Wejście cyfrowe#

Wstęp#

Klasa digital_in umożliwia modułowi EXP Brain odczyt sygnału cyfrowego ze źródła zewnętrznego, takiego jak przełącznik lub czujnik. Wykrywa ona, czy linia wejściowa jest w stanie wysokim (5 V), czy niskim (0 V). Można jej używać do określania stanów włączenia/wyłączenia lub wyzwalania zdarzeń w projekcie.

Konstruktory klas#

digital_in(
  triport::port &port );

Destruktor klasy#

Niszczy obiekt digital_in i zwalnia powiązane zasoby.

~digital_in();

Parametry#

Parametr

Typ

Opis

port

triport::port &

Port 3-żyłowy, do którego podłączone jest urządzenie wejścia cyfrowego, zapisany jako Brain.ThreeWirePort.X lub ExpanderName.X, gdzie X to litera portu (na przykład Brain.ThreeWirePort.A lub Expander1.A).

Przykład#

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

Funkcje członkowskie#

Klasa digital_in zawiera następujące funkcje członkowskie:

  • wartośćvalue — Zwraca informację, czy port cyfrowy odbiera sygnał wysoki czy niski.

  • high — Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy urządzenie Digital In wyśle ​​sygnał wysoki.

  • low — Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy urządzenie Digital In wyśle ​​sygnał niski.

Przed wywołaniem jakiejkolwiek funkcji członkowskiej digital_in należy utworzyć instancję digital_in , jak pokazano poniżej:

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

Zwraca informację, czy port Digital In odbiera sygnał wysoki czy niski.

Dostępne funkcje

int32_t value();

Parametry

Ta funkcja nie przyjmuje żadnych parametrów.

wartości zwracanych

Zwraca wartość int32_t reprezentującą bieżący stan sygnału cyfrowego:

  • 1 – Port Digital In odbiera wysoki sygnał (około 5 V).

  • 0 – Port cyfrowy odbiera niski sygnał (około 0 V).

high#

Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy urządzenie Digital In wyśle ​​sygnał wysoki (około 5 V).

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

Parameters

Parametr

Typ

Opis

callback

void (* callback)(void)

Funkcja, która zostanie wywołana, gdy sygnał wejściowy będzie wysoki.

Return Values

Ta funkcja nie zwraca wartości.

Examples

Zdefiniuj funkcję wywołania zwrotnego (poza int main())

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

Zarejestruj wywołanie zwrotne wewnątrz 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#

Rejestruje funkcję, która ma zostać wywołana za każdym razem, gdy urządzenie Digital In wyśle ​​niski sygnał (około 0 V).

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

Parameters

Parametr

Typ

Opis

callback

void (* callback)(void)

Funkcja, która zostanie wywołana, gdy wartość wejściowa będzie niska.

Return Values

Ta funkcja nie zwraca wartości.

Examples

Zdefiniuj funkcję wywołania zwrotnego (poza int main())

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

Zarejestruj wywołanie zwrotne wewnątrz 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);
}