المدخل التناظري#

مقدمة#

تُستخدم الفئة analog_in لقراءة إشارات الإدخال التناظرية من الأجهزة المتصلة بمنفذ VEX EXP ثلاثي الأسلاك. وهي توفر الوصول إلى القيمة التناظرية الحالية وتسمح بتسجيل دوال رد الاتصال عند حدوث تغييرات في القيمة.

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

analog_in(
    triport::port &port );

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

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

~analog_in();

حدود#

المعلمة

يكتب

وصف

port

triport::port&

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

مثال#

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

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

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

  • value — تُرجع قيمة جهاز الإدخال التناظري.

  • changed — يسجل دالة رد نداء عند تغيير قيمة الإدخال التناظري.

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

/* This constructor is required to use an
Analog Input device. Replace the values
as needed. */

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

value#

يُعيد القيمة الحالية للمدخل التناظري.

Available Functions
int32_t value(
  analogUnits units );

Parameters

المعلمة

يكتب

وصف

units

analogUnits

الوحدة المستخدمة لتمثيل القيمة:

  • range8bit — قيمة تناظرية 8 بت (قيمة ذات 256 حالة ممكنة)
  • range10bit — قيمة تناظرية 10 بت (قيمة ذات 1024 حالة ممكنة)
  • range12bit — قيمة تناظرية 12 بت (قيمة ذات 4096 حالة ممكنة)
  • pct — نسبة مئوية
  • mV — ملي فولت

Return Values

تقوم هذه الدالة بإرجاع القيمة الحالية للمدخل التناظري.

Examples
// Get the current value of the Analog Input
int32_t value = AnalogInA.value();

changed#

يسجل دالة رد نداء ليتم استدعاؤها عند تغير قيمة المدخل التناظري.

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

Parameters

المعلمة

يكتب

وصف

callback

void (* callback)(void)

دالة سيتم استدعاؤها عند تغير قيمة المدخل التناظري.

Return Values

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

Examples

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

// Display a message when the input changes
void AnalogInputChanged() {
  Brain.Screen.print("analog input changed");
}

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

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

  // Run AnalogInputChanged when the value of the
  // Analog Input changes
  AnalogInA.changed(AnalogInputChanged);
}