مفتاح الصدمات#

مقدمة#

تُستخدم فئة bumper للكشف عن وقت الضغط على مفتاح المصد وتحريره.

مُنشئ الفئة#

bumper( 
  int32_t index );

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

يقوم بتدمير الكائن bumper وتحرير الموارد المرتبطة به.

virtual ~bumper();

حدود#

المعلمة

يكتب

وصف

index

int32_t

المنفذ الذكي الذي يتصل به مفتاح المصد، مكتوبًا على النحو التالي: PORTx، حيث x هو رقم المنفذ (على سبيل المثال، PORT1).

مثال#

// Create a bumper instance in Port 1
bumper Bumper1 = bumper(PORT1);

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

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

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

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

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

قبل استدعاء أي من الدوال الأعضاء bumper ، يجب إنشاء مثيل bumper ، كما هو موضح أدناه:

/* This constructor is required when using VS Code.
Bumper Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a bumper instance in Port 1
bumper Bumper1 = bumper(PORT1);

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)

مؤشر إلى دالة سيتم استدعاؤها عند الضغط على زر الكتف. يجب ألا تأخذ الدالة أي معلمات وأن تُرجع قيمة فارغة (void).

Return Values

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

Examples

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

// Display a message when bumper is pressed
void BumperPressed() {
  Brain.Screen.print("Bumper pressed");
}

قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperPressed when the value of the Bumper Switch is pressed.
  Bumper1.pressed(BumperPressed);
}

released#

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

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

Parameters

المعلمة

يكتب

وصف

callback

void (*)(void)

مؤشر إلى دالة سيتم استدعاؤها عند تحرير المصد. يجب ألا تأخذ الدالة أي معلمات وأن تُرجع قيمة فارغة (void).

Return Values

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

Examples

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

// Display a message when bumper is released
void BumperReleased() {
  Brain.Screen.print("Bumper released");
}

قم بتسجيل دالة الاستدعاء داخل الدالة الرئيسية int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run BumperReleased when the value of the Bumper Switch is released.
  Bumper1.released(BumperReleased);
}