Limit Anahtarı#
giriiş#
limit sınıfı, bir nesneyle fiziksel teması algılayan küçük bir dijital sensör olan Limit Anahtarı ile birlikte kullanılır.

Sınıf Oluşturucu#
limit(
triport::port &port);
Sınıf Yıkıcısı#
limit nesnesini yok eder ve ilişkili kaynakları serbest bırakır.
virtual ~limit();
Parametreler#
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Limit anahtarının bağlı olduğu 3 telli port, |
Örnek#
// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);
Üye Fonksiyonları#
limit sınıfı aşağıdaki üye fonksiyonlarını içerir:
pressingbasıyor – Limit Anahtarının basılıp basılmadığını döndürür.pressed– Limit Anahtarına basıldığında çağrılacak bir fonksiyonu kaydeder.released– Limit Anahtarı serbest bırakıldığında çağrılacak bir fonksiyonu kaydeder.
limit üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi limit oluşturulmalıdır:
/* 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#
Limit anahtarının şu anda basılı olup olmadığını döndürür. Bu, robotun diğer nesnelere çarpıp çarpmadığını kontrol etmek için kullanılabilir.
Available Functionsint32_t pressing();
Bu fonksiyon herhangi bir parametre kabul etmez.
Return ValuesLimit anahtarının basılıp basılmadığını gösteren int32_t değerini döndürür.
1— Limit anahtarına basılıyor.0— Limit anahtarına basılmıyor.
pressed#
Limit anahtarına basıldığında çağrılacak bir fonksiyonu kaydeder.
Available Functionsvoid pressed(
void (* callback)(void) );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Limit anahtarına basıldığında çağrılacak bir fonksiyona işaretçi. |
Bu fonksiyon bir değer döndürmez.
ExamplesGeri çağırma fonksiyonunu tanımlayın (
int main()dışında)void switchPressed() { // The Brain will print that the Limit Switch was pressed // on the Brain's screen. Brain.Screen.print("switch pressed"); }Geri çağrıyı main() fonksiyonunun içine kaydedin
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#
Limit anahtarı bırakıldığında çağrılacak bir fonksiyonu kaydeder.
Available Functionsvoid released(
void (* callback)(void) );
Parametre |
Tip |
Tanım |
|---|---|---|
|
|
Limit anahtarı bırakıldığında çağrılacak bir fonksiyona işaretçi. |
Bu fonksiyon bir değer döndürmez.
ExamplesGeri çağırma fonksiyonunu tanımlayın (
int main()dışında)void switchReleased() { // The Brain will print that the Limit Switch was released // on the Brain's screen. Brain.Screen.print("switch released"); }Geri çağrıyı main() fonksiyonunun içine kaydedin
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); }