ഡിജിറ്റൽ ഇൻ#

ആമുഖം#

digital_in ക്ലാസ്, സ്വിച്ച് അല്ലെങ്കിൽ സെൻസർ പോലുള്ള ഒരു ബാഹ്യ സ്രോതസ്സിൽ നിന്നുള്ള ഡിജിറ്റൽ സിഗ്നൽ വായിക്കാൻ V5 ബ്രെയിനിനെ അനുവദിക്കുന്നു. ഇൻപുട്ട് ലൈൻ ഉയർന്നതാണോ, 5 വോൾട്ട് സ്വീകരിക്കുന്നുണ്ടോ, അല്ലെങ്കിൽ 0 വോൾട്ട് സ്വീകരിക്കുന്നുണ്ടോ എന്ന് ഇത് കണ്ടെത്തുന്നു. ഒരു പ്രോജക്റ്റിലെ ഓൺ/ഓഫ് അവസ്ഥകൾ നിർണ്ണയിക്കാനോ ഇവന്റുകൾ ട്രിഗർ ചെയ്യാനോ ഇത് ഉപയോഗിക്കാം.

ക്ലാസ് കൺസ്ട്രക്‌ടറുകൾ#

digital_in(
  triport::port &port );

ക്ലാസ് ഡിസ്ട്രക്റ്റർ#

digital_in ഒബ്‌ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

~digital_in();

പാരാമീറ്ററുകൾ#

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

port

triport::port &

ഡിജിറ്റൽ ഇൻപുട്ട് ഉപകരണം ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്, 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();

പാരാമീറ്ററുകൾ

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

റിട്ടേൺ മൂല്യങ്ങൾ

നിലവിലെ ഡിജിറ്റൽ സിഗ്നൽ അവസ്ഥയെ പ്രതിനിധീകരിക്കുന്ന int32_t നൽകുന്നു:

  • 1 – ഡിജിറ്റൽ ഇൻ പോർട്ടിൽ ഉയർന്ന സിഗ്നൽ (ഏകദേശം 5V) ലഭിക്കുന്നു.

  • 0 – ഡിജിറ്റൽ ഇൻ പോർട്ടിൽ കുറഞ്ഞ സിഗ്നൽ (ഏകദേശം 0V) ലഭിക്കുന്നു.

high#

ഡിജിറ്റൽ ഇൻ ഉപകരണം ഉയർന്ന സിഗ്നൽ (ഏകദേശം 5V) അയയ്ക്കുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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#

ഡിജിറ്റൽ ഇൻ ഉപകരണം കുറഞ്ഞ സിഗ്നൽ (ഏകദേശം 0V) അയയ്ക്കുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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);
}