Masukan Digital#

Perkenalan#

Kelas digital_in memungkinkan EXP Brain untuk membaca sinyal digital dari sumber eksternal, seperti sakelar atau sensor. Kelas ini mendeteksi apakah jalur input berlogika tinggi, menerima 5 volt, atau rendah, menerima 0 volt. Hal ini dapat digunakan untuk menentukan status hidup/mati atau memicu peristiwa dalam sebuah proyek.

Konstruktor Kelas#

digital_in(
  triport::port &port );

Destruktor Kelas#

Menghapus objek digital_in dan melepaskan sumber daya terkait.

~digital_in();

Parameter#

Parameter

Jenis

Keterangan

port

triport::port &

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

Contoh#

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

Fungsi Keanggotaan#

Kelas digital_in mencakup fungsi anggota berikut:

  • value — Mengembalikan apakah port Digital In menerima sinyal tinggi atau rendah.

  • high — Mendaftarkan fungsi yang akan dipanggil setiap kali perangkat Input Digital mengirimkan sinyal tinggi.

  • low — Mendaftarkan fungsi yang akan dipanggil setiap kali perangkat Digital In mengirimkan sinyal rendah.

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

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

Mengembalikan nilai yang menunjukkan apakah port Digital In menerima sinyal tinggi atau rendah.

Fungsi yang Tersedia

int32_t value();

Parameter

Fungsi ini tidak menerima parameter apa pun.

Nilai Pengembalian

Mengembalikan nilai int32_t yang mewakili status sinyal digital saat ini:

  • 1 – Port Input Digital menerima sinyal tinggi (sekitar 5V).

  • 0 – Port Input Digital menerima sinyal rendah (sekitar 0V).

high#

Mendaftarkan sebuah fungsi yang akan dipanggil setiap kali perangkat Digital In mengirimkan sinyal tinggi (sekitar 5V).

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

Parameters

Parameter

Jenis

Keterangan

callback

void (* callback)(void)

Sebuah fungsi yang akan dipanggil ketika input bernilai tinggi.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

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

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 inputHigh when the Digital Input is high
  DigitalInA.high(inputHigh);
}

low#

Mendaftarkan sebuah fungsi yang akan dipanggil setiap kali perangkat Digital In mengirimkan sinyal rendah (sekitar 0V).

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

Parameters

Parameter

Jenis

Keterangan

callback

void (* callback)(void)

Sebuah fungsi yang akan dipanggil ketika input bernilai rendah.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

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

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 inputLow when the Digital Input is low
  DigitalInA.low(inputLow);
}