Digitaal in#
Invoering#
De klasse digital_in stelt de EXP Brain in staat een digitaal signaal van een externe bron, zoals een schakelaar of sensor, te lezen. Het detecteert of de ingangslijn hoog is (5 volt) of laag (0 volt). Dit kan worden gebruikt om aan/uit-statussen te bepalen of gebeurtenissen in een project te activeren.
Klasseconstructors#
digital_in(
triport::port &port );
Klasse-destructor#
Vernietigt het digital_in object en geeft de bijbehorende resources vrij.
~digital_in();
Parameters#
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
De 3-draads poort waarop het digitale invoerapparaat is aangesloten, wordt weergegeven als |
Voorbeeld#
// Create the digital_in instance on 3-Wire Port A
digital_in digin = digital_in(Brain.ThreeWirePort.A);
Lidfuncties#
De klasse digital_in bevat de volgende lidfuncties:
value— Geeft aan of de digitale ingangspoort een hoog of laag signaal ontvangt.high— Registreert een functie die wordt aangeroepen wanneer het digitale ingangsapparaat een hoog signaal verzendt.low— Registreert een functie die wordt aangeroepen wanneer het digitale ingangsapparaat een laag signaal verzendt.
Voordat er lidfuncties van het type digital_in worden aangeroepen, moet er een instantie van digital_in worden aangemaakt, zoals hieronder wordt weergegeven:
/* 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#
Geeft aan of de digitale ingang een hoog of laag signaal ontvangt.
Beschikbare functies
int32_t value();
Parameters
Deze functie accepteert geen parameters.
retourwaarden
Retourneert een int32_t die de huidige digitale signaalstatus weergeeft:
1– De digitale ingang ontvangt een hoog signaal (ongeveer 5V).0– De digitale ingang ontvangt een zwak signaal (ongeveer 0V).
high#
Registreert een functie die wordt aangeroepen wanneer het digitale ingangsapparaat een hoog signaal (ongeveer 5V) verzendt.
Available Functionsvoid high(
void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt aangeroepen wanneer de invoer hoog is. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())// Display that the input is high void inputHigh() { Brain.Screen.print("digital input high"); }Registreer de callback binnen
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#
Registreert een functie die moet worden aangeroepen wanneer het digitale ingangsapparaat een laag signaal (ongeveer 0V) verzendt.
Available Functionsvoid low(
void (* callback)(void) );
Parameter |
Type |
Beschrijving |
|---|---|---|
|
|
Een functie die wordt aangeroepen wanneer de ingang laag is. |
Deze functie retourneert geen waarde.
ExamplesDefinieer de callbackfunctie (buiten
int main())// Display that the input is low void inputLow() { Brain.Screen.print("digital input low"); }Registreer de callback binnen
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); }