⇐ zurück zur Hauptseite

Die Klassenbibliothek enthält Klassen und Methoden zur Betrieb von drei I²CAdapter-Typen. Dies sind

Download Ullis I2C Library:
   Visual Studio 2010 Solution
   Binary (.dll, .xml, .pdb)
   Hilfe-Datei (.chm)

Namensräume

Zur besseren Übersicht ist die Bibliothek in mehrere Namensräume aufgeteilt:
Namensräume

Der Namensraum "I2cMasterModule" stellt allgemeine Klassen und Methoden für ein I²C-Busmaster-Interface bereit. Einzelne, konkrete Implementierungen -wie die folgenden- enthalten zusätzliche, adapterspezifische Funktionalitäten. Diese stehen aber nicht bei allen Schnittstellenvarianten in gleicher Art oder gleichem Umfang zur Verfügung.

Der Namensraum "I2cMasterModule.Rs232Adapter" stellt Klassen und Methoden bereit, die die Anbindung des RS232-to-I2C-Adapters ermöglichen. "I2cMasterModule.UsbToI2cCommunicationsModule" erlaubt die Anbindung eines USB to I2C Communications Module. Der Namensraum I2cMasterModule.UsbTwiHostAdapter" bietet die Optionen, den in diesem Projekt beschriebenen USB-TWI-Host-Adapter anzusteuern.


Namensraum I2cMasterModule

Der Namensraum I2cMasterModule stellt vier Basis-Klassen bereit.

Namensraum I2cMasterModule

Die wichtigste ist die virtuelle Klasse I2cMasterModule.I2cBusMaster. Sie bietet ein Interface zu grundlegenden I²C-Funktionen, die alle Hadrware-Adapter gleichermaßen bereitstellen. Dies sind Funktionen zum Lesen und Schreiben einzelner Bytes oder Byte-Pakete. Ebenso das gezielte Ansprechen eines I²C-Registers ist möglich. Hinzu kommen Funktionen zum Öffnen und Schließen des Übertragungskanals.

Die Klasse I2cMasterModule.DeviceAddress stellt ein geprüfte I²C-Geräte-Adresse zur Verfügung (Wert 0..127). Sie entbindet die einzelnen Methoden bei der Benutzung dieser Klasse von der Überprüfung deren Gültigkeit. Die Methode BroadcastAddress stellt eine Device-Adresse mit dem Adresse 0 zur Verfügung. Die Adresse 0 wird i.d.R. von allen I²C-Geräten akzeptiert.

Sofern es die abgebundene Hardware zulässt, werden Funktionen zur Ansteuerung der einzelnen I²C-Signalleitungen angeboten. Die Klasse I2cMasterModule.SignalState stellt Werte für die Signalzustände bei diesen Funktionen bereit.

Die Klasse I2cMasterModule.I2cException ist die Basis-Klasse für alle Exceptions dieser Bibliothek. Die einzelnen Funktionen stellen beim Auftreten einer Ausnahme i.d.R. nähere Information in dem Feld InnerException bereit.


Selbstbau RS232-to-I2C-Adapter

Die Klasse ermöglicht den Betrieb eines I²C-Master, der auf folgendem Schaltplan beruht:

I2C-Bus nach RS232 Konverter
Quelle: 2C-Bus nach RS232 Konverter von Umni's Homepage.

Die einzige öffentliche Klasse dieses Namensraums Rs232Adapter, die Funktionen zur Ansteuerung dieses Adapters bereitstellt, ist von I2cMasterModule.I2cBusMaster abgeleitet. Sie stellt, neben den von der Basis-Klasse geforderten Methoden zur Steuerung des I²C-Busses, Methoden zur Manipulation der einzelnen I²C-Signalleitungen bereit. Hinzu kommen Methoden zum Durchgriff auf den zu Grunde liegenden System.IO.Ports.SerialPort.

Klasse Rs232Adapter

USB to I2C Communications Module

Die einzige öffentliche Klasse UsbToI2cCommunicationsModule dieses Namensraums ermöglicht den komfortablen Betrieb eines gängigen "USB to I2C Communications Module".

USB to I2C Communications Module

Die Klasse enthält Methoden zum Ansteuern der I²C-Funktionen. Zusätzlich können die logischen Zustände der Pins abgefragt werden. Eine Spannungsmessung per ADC ist ebenfalls möglich.

Klasse UsbToI2cCommunicationsModule

Leider besitzt das Modul keine Funktionalität mit der einfache Byte-Sequenzen geschrieben oder gelesen werden können. Ein Aufruf dieser von der Basisklasse I2cBusMaster geerbten Methoden führt deshalb zu einem Fehler. Es wird eine I2cNotSupportedException geworfen.


USB-TWI-Host-Adapter

Die Klassen des Namensraum I2cMasterModule.UsbTwiHostAdapter ermöglichen die Funktionen eines USB-TWI-Host-Adapters anzusteuern.

USB-TWI-Host-Adapters

Neben den Standardfunktionen zum Betrieb eines I²C-Busses besitzt dieses Modul eine Reihe weiterer Funktionen:

Die Klasse TwiHost enthält Methoden zum Ansteuern der regulären Methoden des TWI-Masters. Die davon abgeleitete Klasse TwiHostCore stellt Methoden bereit, die ggf. für Debug-Zwecke benötigt werden, deren unsachgemäßer Gebrauch jedoch zu Störungen auf dem Bus führen können. Die Klasse TwiAnswer enthält die Rückantwort bzw. Fehlercodes des TWI-Masters. Diese Klasse wird Bestandteil der meisten Exceptions zurückgeliefert.

UsbTwiHostAdapter Hauptklassen

Um Fehler bei der Parameter-Übergabe zu minimieren stehen für alle betroffenen Methoden entsprechende Enumarationen bereit. Dies sind zum einen solche allgemeiner Art
UsbTwiHostAdapter Enumerationen

und zum anderen spezielle für die Bedienung der I²C-Schnittstelle.
UsbTwiHostAdapter TWI-Enumerationen

Ein ausführliches Exception-Modell ermöglicht ein genaue Analyse der auftretenden Probleme. Für einfache Anwendungen sind alle Exceptions zunächst von I2cException und speziell für dieses Modul von TwiHostException abgeleitet. Es reicht also ggf. Ausnahmen auf diesem Level abzufangen.
UsbTwiHostAdapter Exceptions

⇐ zurück zur Hauptseite