Die GPIO-Kanäle
Die Klasse GPIO
ist die hardwarenächste Klasse der JControl-API. Mit dieser Klasse können die universellen digitalen Ein-/Ausgabekanäle (GPIO-Kanäle) eines JControl-Moduls direkt angesteuert werden. Dazu stehen die Methoden setState
und getState
zur Verfügung, mit denen der Zustand jedes einzelnen GPIO-Kanals gesetzt oder abgefragt werden kann. Die Konstanten HIGH
(true
) und LOW
(false
) repräsentieren dabei den jeweiligen Zustand. Ausserdem kann mit den Methoden setMode
und getMode
die jeweilige Betriebsart der GPIO-Kanäle kontrolliert werden. Die Betriebsarten werden ebenfalls durch Konstanten definiert. Es stehen folgende Betriebsarten zur Verfügung:
Betriebsart | Datenrichtung | Beschreibung |
FLOATING | Eingang | Digitaler (ggf. analoger) Eingang |
PULLUP | Eingang | Digitaler (ggf. analoger) Eingang mit internem Pullup-Widerstand |
PUSHPULL | Ausgang | Digitaler Ausgang |
OPENDRAIN | Ausgang | Digitaler Ausgang, HIGH schaltet Ausgang hochohmig |
Tabelle 1: Betriebsarten der GPIO-Kanäle
Hinweis: Bei einem GPIO-Eingang darf die von außen angelegte Spannung nicht die Versorgungsspannung des JControl-Moduls überschreiten. Ein GPIO-Ausgang hat den Zustand LOW (=0V) oder HIGH (= Versorgungsspannung; idR. 5V). Nähere Informationen können sie den Datenblättern entnehmen.
Es ist zu beachten, dass die GPIO-Kanäle bei den verschiedenen JControl-Modulen unterschiedlich an externe Pins herausgeführt sind. Die Belegung im Einzelnen kann der API Dokumentation von GPIO
entnommen werden. Die Verdrahtung der GPIO-Kanäle an die externen Pins der JControl-Geräte wird in den entsprechenden Datenblättern der Produkte beschrieben.
In einigen Fällen wird es nicht nötig sein, die Klasse GPIO
zu verwenden. Dann werden Sie wahrscheinlich "übergeordnete" Klassen (z.B. PWM
und ADC
) benutzen, um komfortabel auf die Hardware zuzugreifen. Für Anwendungen jedoch, die eine direkte Ansteuerung der GPIO-Kanäle benötigen, soll im folgenden Abschnitt ein kleines Beispiel vorgestellt werden.