Αναλογική είσοδος#

Εισαγωγή#

Η κλάση analog_in χρησιμοποιείται για την ανάγνωση αναλογικών σημάτων εισόδου από συσκευές που είναι συνδεδεμένες σε μια θύρα VEX V5 3-Wire. Παρέχει πρόσβαση στην τρέχουσα αναλογική τιμή και επιτρέπει την καταχώριση συναρτήσεων επανάκλησης για αλλαγές τιμών.

Κατασκευαστές κλάσεων#

analog_in(
    triport::port &port );

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

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

~analog_in();

Παράμετροι#

Παράμετρος

Τύπος

Περιγραφή

port

triport::port&

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

Παράδειγμα#

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

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

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

  • value — Επιστρέφει την τιμή της συσκευής αναλογικής εισόδου.

  • changed — Καταγράφει μια συνάρτηση επανάκλησης για όταν αλλάζει η τιμή της αναλογικής εισόδου.

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

/* This constructor is required to use an
Analog Input device. Replace the values
as needed. */

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

value#

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

Available Functions
int32_t value(
  analogUnits units );

Parameters

Παράμετρος

Τύπος

Περιγραφή

units

analogUnits

Η μονάδα που αντιπροσωπεύει την τιμή:

  • range8bit — αναλογική τιμή 8-bit (μια τιμή με 256 πιθανές καταστάσεις)
  • range10bit — αναλογική τιμή 10-bit (μια τιμή με 1024 πιθανές καταστάσεις)
  • range12bit — αναλογική τιμή 12-bit (μια τιμή με 4096 πιθανές καταστάσεις)
  • pct — ποσοστό
  • mV — μιλιβόλτ

Return Values

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

Examples
// Get the current value of the Analog Input
int32_t value = AnalogInA.value();

changed#

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

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

Parameters

Παράμετρος

Τύπος

Περιγραφή

callback

void (* callback)(void)

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

Return Values

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

Examples

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

// Display a message when the input changes
void AnalogInputChanged() {
  Brain.Screen.print("analog input changed");
}

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

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

  // Run AnalogInputChanged when the value of the
  // Analog Input changes
  AnalogInA.changed(AnalogInputChanged);
}