Διακόπτης ορίου#

Εισαγωγή#

Η κλάση limit χρησιμοποιείται με τον διακόπτη ορίου, έναν μικρό ψηφιακό αισθητήρα που ανιχνεύει φυσική επαφή με ένα αντικείμενο.

Ο διακόπτης ορίου VEX EXP.

Κατασκευαστής κλάσης#

limit(
  triport::port &port);

Καταστροφέας κλάσης#

Καταστρέφει το αντικείμενο limit και απελευθερώνει τους σχετικούς πόρους.

virtual ~limit();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port &

Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο διακόπτης ορίου, γραμμένη ως Brain.ThreeWirePort.X ή ExpanderName.X, όπου X είναι το γράμμα της θύρας (για παράδειγμα, Brain.ThreeWirePort.A ή Expander1.A).

Παράδειγμα#

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

Συναρτήσεις Μελών#

Η κλάση limit περιλαμβάνει τις ακόλουθες συναρτήσεις-μέλη:

  • pressing – Επιστρέφει εάν πατιέται ο διακόπτης ορίου.

  • pressed – Καταγράφει μια συνάρτηση που θα καλείται κάθε φορά που πατιέται ο διακόπτης ορίου.

  • released – Καταχωρεί μια συνάρτηση που θα καλείται κάθε φορά που απελευθερώνεται ο διακόπτης ορίου.

Πριν από την κλήση οποιασδήποτε συνάρτησης μέλους limit , πρέπει να δημιουργηθεί μια παρουσία limit , όπως φαίνεται παρακάτω:

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

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Επιστρέφει εάν ο διακόπτης ορίου είναι πατημένος τη δεδομένη στιγμή. Αυτό μπορεί να χρησιμοποιηθεί για να ελεγχθεί εάν το ρομπότ προσκρούει σε άλλα αντικείμενα.

Available Functions
int32_t pressing();

Parameters

Αυτή η συνάρτηση δεν δέχεται καμία παράμετρο.

Return Values

Επιστρέφει την τιμή int32_t που υποδεικνύει εάν πατιέται ο διακόπτης ορίου.

  • 1 — Ο διακόπτης ορίου είναι πατημένος.

  • 0 — Ο διακόπτης ορίου δεν πατιέται.

pressed#

Καταγράφει μια συνάρτηση που θα κληθεί όταν πατηθεί ο διακόπτης ορίου.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Ένας δείκτης σε μια συνάρτηση που θα καλείται όταν πατηθεί ο διακόπτης ορίου.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples

Ορίστε τη συνάρτηση επανάκλησης (εκτός από int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Καταχωρίστε την επανάκληση μέσα στο int main()

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

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

Καταχωρεί μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο διακόπτης ορίου.

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (*)(void)

Ένας δείκτης σε μια συνάρτηση που θα κληθεί όταν απελευθερωθεί ο διακόπτης ορίου.

Return Values

Αυτή η συνάρτηση δεν επιστρέφει τιμή.

Examples

Ορίστε τη συνάρτηση επανάκλησης (εκτός από int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Καταχωρίστε την επανάκληση μέσα στο int main()

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

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}