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:

BetriebsartDatenrichtungBeschreibung
FLOATINGEingangDigitaler (ggf. analoger) Eingang
PULLUPEingangDigitaler (ggf. analoger) Eingang mit internem Pullup-Widerstand
PUSHPULLAusgangDigitaler Ausgang
OPENDRAINAusgangDigitaler 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.