الرقمية#

مقدمة#

تتيح فئة digital_in لوحدة EXP Brain قراءة إشارة رقمية من مصدر خارجي، مثل مفتاح أو مستشعر. وتكتشف ما إذا كان خط الإدخال عاليًا (يستقبل 5 فولت) أو منخفضًا (يستقبل 0 فولت). ويمكن استخدام ذلك لتحديد حالات التشغيل/الإيقاف أو لتشغيل أحداث في مشروع ما.

مُنشئات الفئات#

digital_in(
  triport::port &port );

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

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

~digital_in();

حدود#

المعلمة

يكتب

وصف

port

triport::port &

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

مثال#

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

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

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

  • value — تُرجع ما إذا كان منفذ الإدخال الرقمي يستقبل إشارة عالية أو منخفضة.

  • high — يسجل وظيفة ليتم استدعاؤها كلما أرسل جهاز الإدخال الرقمي إشارة عالية.

  • low — يسجل وظيفة ليتم استدعاؤها كلما أرسل جهاز الإدخال الرقمي إشارة منخفضة.

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

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

يُرجع ما إذا كان منفذ الإدخال الرقمي يستقبل إشارة عالية أم منخفضة.

وظائف متاحة

int32_t value();

معلمات

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

قيم الإرجاع

Returns an int32_t representing the current digital signal state:

  • 1 – يستقبل منفذ الإدخال الرقمي إشارة عالية (حوالي 5 فولت).

  • 0 – يستقبل منفذ الإدخال الرقمي إشارة منخفضة (حوالي 0 فولت).

high#

يسجل وظيفة ليتم استدعاؤها كلما أرسل جهاز الإدخال الرقمي إشارة عالية (حوالي 5 فولت).

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

Parameters

المعلمة

يكتب

وصف

callback

void (* callback)(void)

دالة سيتم استدعاؤها عندما تكون قيمة الإدخال عالية.

Return Values

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

Examples

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

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

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

يسجل وظيفة ليتم استدعاؤها كلما أرسل جهاز الإدخال الرقمي إشارة منخفضة (حوالي 0 فولت).

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

Parameters

المعلمة

يكتب

وصف

callback

void (* callback)(void)

دالة سيتم استدعاؤها عندما يكون الإدخال منخفضًا.

Return Values

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

Examples

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

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

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