48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
#include "GPIO.h"
|
|
|
|
/*
|
|
Der Konstruktor initialisiert das GPIO-Pin und den Modus (Eingang oder Ausgang).
|
|
Je nachdem, ob GPIOinput true oder false ist, wird der Pin als Eingangs- oder Ausgangspin konfiguriert.
|
|
*/
|
|
IO::IO(byte pin, bool input) {
|
|
this->GPIOPin = pin;
|
|
this->GPIOinput = input;
|
|
|
|
if (this->GPIOinput == false){
|
|
pinMode(this->GPIOPin, OUTPUT);
|
|
} else {
|
|
pinMode(this->GPIOPin, INPUT);
|
|
}
|
|
|
|
}
|
|
|
|
/*
|
|
Diese Methode setzt den Pin auf HIGH und überprüft anschließend, ob der Zustand des Pins tatsächlich HIGH ist.
|
|
Sie gibt 100 zurück, wenn der Pin erfolgreich auf HIGH gesetzt wurde, andernfalls 200.
|
|
*/
|
|
byte IO::SetHigh() {
|
|
digitalWrite(this->GPIOPin, HIGH);
|
|
if (this->GetState() == HIGH){
|
|
return 100;
|
|
} else {
|
|
return 200;
|
|
}
|
|
}
|
|
|
|
/*
|
|
Diese Methode setzt den Pin auf LOW und überprüft den Zustand.
|
|
Sie gibt 101 zurück, wenn der Pin erfolgreich auf LOW gesetzt wurde, andernfalls 201.
|
|
*/
|
|
byte IO::SetLow() {
|
|
digitalWrite(this->GPIOPin, LOW);
|
|
if (this->GetState() == LOW){
|
|
return 101;
|
|
} else {
|
|
return 201;
|
|
}
|
|
}
|
|
|
|
byte IO::GetState() {
|
|
return digitalRead(this->GPIOPin);
|
|
}
|