Input Analog#

Perkenalan#

Kelas analog_in digunakan untuk membaca sinyal input analog dari perangkat yang terhubung ke port VEX EXP 3-Wire. Kelas ini menyediakan akses ke nilai analog saat ini dan memungkinkan fungsi callback untuk didaftarkan ketika terjadi perubahan nilai.

Konstruktor Kelas#

analog_in(
    triport::port &port );

Destruktor Kelas#

Menghapus objek analog_in dan melepaskan sumber daya terkait.

~analog_in();

Parameter#

Parameter

Jenis

Keterangan

port

triport::port&

Port 3-Kawat yang terhubung ke Input Analog, ditulis sebagai Brain.ThreeWirePort.X atau ExpanderName.X, di mana X adalah huruf port (misalnya, Brain.ThreeWirePort.A atau Expander1.A).

Contoh#

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

Fungsi Keanggotaan#

Kelas analog_in mencakup fungsi anggota berikut:

  • value — Mengembalikan nilai perangkat Input Analog.

  • changed — Mendaftarkan fungsi callback untuk saat nilai input analog berubah.

Sebelum memanggil fungsi anggota analog_in mana pun, sebuah instance analog_in harus dibuat, seperti yang ditunjukkan di bawah ini:

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

Mengembalikan nilai input analog saat ini.

Available Functions
int32_t value(
  analogUnits units );

Parameters

Parameter

Jenis

Keterangan

units

analogUnits

Satuan untuk merepresentasikan nilai:

  • range8bit — nilai analog 8-bit (nilai dengan 256 kemungkinan keadaan)
  • range10bit — nilai analog 10-bit (nilai dengan 1024 kemungkinan keadaan)
  • range12bit — nilai analog 12-bit (nilai dengan 4096 kemungkinan keadaan)
  • pct — persentase
  • mV — milivolt

Return Values

Fungsi ini mengembalikan nilai input analog saat ini.

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

changed#

Mendaftarkan fungsi callback yang akan dipanggil ketika nilai input analog berubah.

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

Parameters

Parameter

Jenis

Keterangan

callback

void (* callback)(void)

Sebuah fungsi yang akan dipanggil ketika nilai input analog berubah.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

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

Daftarkan fungsi callback di dalam 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);
}