Sakelar Batas#
Perkenalan#
Kelas limit digunakan dengan Limit Switch, yaitu sensor digital kecil yang mendeteksi kontak fisik dengan suatu objek.

Konstruktor Kelas#
limit(
triport::port &port);
Destruktor Kelas#
Menghancurkan objek limit dan melepaskan sumber daya terkait.
virtual ~limit();
Parameter#
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Port 3-Kabel yang terhubung ke Sakelar Batas, ditulis sebagai |
Contoh#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Fungsi Keanggotaan#
Kelas limit mencakup fungsi anggota berikut:
pressing– Mengembalikan apakah Saklar Batas sedang ditekan.pressed– Mendaftarkan fungsi yang akan dipanggil setiap kali Saklar Batas ditekan.released– Mendaftarkan fungsi yang akan dipanggil setiap kali Saklar Batas dilepaskan.
Sebelum memanggil fungsi anggota limit apa pun, sebuah instance limit harus dibuat, seperti yang ditunjukkan di bawah ini:
/* 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#
Mengembalikan nilai boolean yang menunjukkan apakah sakelar batas sedang ditekan. Ini dapat digunakan untuk memeriksa apakah robot menabrak objek lain.
Available Functionsint32_t pressing();
Fungsi ini tidak menerima parameter apa pun.
Return ValuesMengembalikan nilai int32_t yang menunjukkan apakah sakelar batas sedang ditekan.
1— Sakelar batas sedang ditekan.0— Sakelar batas tidak ditekan.
pressed#
Mendaftarkan fungsi yang akan dipanggil ketika sakelar batas ditekan.
Available Functionsvoid pressed(
void (* callback)(void) );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Penunjuk ke fungsi yang akan dipanggil ketika sakelar batas ditekan. |
Fungsi ini tidak mengembalikan nilai.
ExamplesDefinisikan fungsi callback (di luar
int main())void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }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 switchPressed when the Limit Switch is pressed. LimitSwitchA.pressed(switchPressed); }
released#
Mendaftarkan fungsi yang akan dipanggil ketika sakelar batas dilepas.
Available Functionsvoid released(
void (* callback)(void) );
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Pointer ke sebuah fungsi yang akan dipanggil ketika Limit Switch dilepaskan. |
Fungsi ini tidak mengembalikan nilai.
ExamplesDefinisikan fungsi callback (di luar
int main())void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }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 switchReleased when the Limit Switch is released. LimitSwitchA.released(switchReleased); }