مفتاح الحد#

مقدمة#

يتم استخدام فئة الحد limit مع مفتاح الحد، وهو مستشعر رقمي صغير يكتشف التلامس المادي مع جسم ما.

مفتاح الحد VEX V5.

مُنشئ الفئة#

limit(
  triport::port &port);

مُدمِّر الفئة#

يقوم بتدمير الكائن ذي الحد الأقصى limit ويحرر الموارد المرتبطة به.

virtual ~limit();

حدود#

المعلمة

يكتب

وصف

port

triport::port &

المنفذ ذو الثلاثة أسلاك الذي يتصل به مفتاح الحد، مكتوبًا على النحو التالي: Brain.ThreeWirePort.X أو ExpanderName.X، حيث X هو حرف المنفذ (على سبيل المثال، Brain.ThreeWirePort.A أو Expander1.A).

مثال#

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

الدوال الأعضاء#

تتضمن فئة limit الدوال الأعضاء التالية:

  • pressing – إرجاع ما إذا كان يتم الضغط على مفتاح الحد.

  • pressed – يسجل وظيفة ليتم استدعاؤها كلما تم الضغط على مفتاح الحد.

  • released – يسجل وظيفة ليتم استدعاؤها كلما تم تحرير مفتاح الحد.

قبل استدعاء أي من الدوال الأعضاء ذات الحد limit ، يجب إنشاء نسخة ذات حد limit ، كما هو موضح أدناه:

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

تُعيد هذه الدالة ما إذا كان مفتاح الحد مضغوطًا حاليًا. ويمكن استخدامها للتحقق مما إذا كان الروبوت يصطدم بأجسام أخرى.

Available Functions
int32_t pressing();

Parameters

لا تقبل هذه الدالة أي معلمات.

Return Values

يُرجع int32_t يشير إلى ما إذا كان يتم الضغط على مفتاح الحد.

  • 1 — يتم الضغط على مفتاح الحد.

  • 0 — مفتاح الحد غير مضغوط.

pressed#

يسجل وظيفة ليتم استدعاؤها عند الضغط على مفتاح الحد.

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

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

مؤشر إلى دالة سيتم استدعاؤها عند الضغط على مفتاح الحد.

Return Values

هذه الدالة لا تُرجع قيمة.

Examples

عرّف دالة الاستدعاء (خارج نطاق int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية 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#

يسجل وظيفة ليتم استدعاؤها عند تحرير مفتاح الحد.

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

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

مؤشر إلى دالة سيتم استدعاؤها عند تحرير مفتاح الحد.

Return Values

هذه الدالة لا تُرجع قيمة.

Examples

عرّف دالة الاستدعاء (خارج نطاق int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية 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);
}