Ψηφιακή είσοδος#

Εισαγωγή#

Η κλάση digital_in επιτρέπει στον εγκέφαλο EXP να διαβάζει ένα ψηφιακό σήμα από μια εξωτερική πηγή, όπως έναν διακόπτη ή έναν αισθητήρα. Ανιχνεύει εάν η γραμμή εισόδου είναι υψηλή, λαμβάνοντας 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 — Καταγράφει μια συνάρτηση που θα καλείται κάθε φορά που η συσκευή Digital In στέλνει ένα υψηλό σήμα.

  • 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 – Η θύρα ψηφιακής εισόδου λαμβάνει υψηλό σήμα (περίπου 5V).

  • 0 – Η θύρα ψηφιακής εισόδου λαμβάνει χαμηλό σήμα (περίπου 0V).

high#

Καταγράφει μια λειτουργία που θα καλείται κάθε φορά που η συσκευή Digital In στέλνει υψηλό σήμα (περίπου 5V).

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#

Καταγράφει μια λειτουργία που θα καλείται κάθε φορά που η συσκευή ψηφιακής εισόδου στέλνει χαμηλό σήμα (περίπου 0V).

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