mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
jacoblange
Posts: 5
Joined: Tue Oct 20, 2009 8:59 pm

mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Post by jacoblange »

Hallo,

ich bin gerade am verzweifeln. Ich versuche über den "USB zu IIC Dongle mit IOW24" einen PCF8574A anzusprechen, soll heißen die Ausgänge zu aktivieren bzw. deaktivieren. Als Programmiersprache nutze ich c#.

Bei den USBIICMS Beispielen war ein Programme namens "Simple-I2C.exe" dabei, mit diesem kann ich den PCF8574A absprechen und sehe auch seine Adresse 0x38 (0x70).

Hier ein Code Ausschnitt von meinen verzweifelten Versuchen (Orientiert an dem Thread von Henning, PCF8574 an den IO-Warrior anschließen vom 20.04.2005):

Code: Select all

int handle = IOWLib.IowKitOpenDevice();

byte[] buffer = new byte[8];
//ReportID
buffer[0] = 1;

//IIC - Aktivieren
buffer[1] = 194; // ??
buffer[2] = 112; // 70 Hex
buffer[3] = 0;    // Alle Ausgänge aus
buffer[4] = 0;
buffer[5] = 0;
buffer[6] = 0;
buffer[7] = 0;

IOWLib.IowKitWrite(handle, 1, ref buffer[0], buffer.Length);
Für Hilfe oder Gedankenanstöße wäre ich sehr dankbar.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Post by Guido Körber »

Was genau soll denn dieser Codeteil machen?

Als erstes muss die IIC Funktion des IO-Warrior eingeschaltet werden und das hier ist eine Mischung von einem Report zum Einschalten des IIC (ReportID = 1) und einem Report zum Schreiben von Daten, das wird beim IO-Warrior genau keine Reaktion zur Folge haben, da nur 0 oder 1 im ersten Byte akzeptiert werden.
jacoblange
Posts: 5
Joined: Tue Oct 20, 2009 8:59 pm

Re: mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Post by jacoblange »

Vielen Dank für die schnelle Antwort. Ich bin leider noch nicht ganz dahinter gestiegen, was ich in welcher Reihenfolge senden muss.

Ich würde gerne Daten an den PCF8574A senden, das heißt einzelne Ausgänge ein bzw ausschalten. Mir ist klar das ich das mache in dem ich ein Byte (0 für alle aus und 255 für alle an) an den PCF8574A senden muss. Da ich auch Ahnung von C++ habe, habe ich mir schon hergeleitet wie die Datenübergabe funktioniert, ein Zeiger auf den Anfang des Array und die Länge des Arrays.
Was ich noch nicht herausgefunden habe, wie Aktiviere ich den IOW24, wo gebe ich die Adresse des I²C Bausteins an, und wo setze ich das Datenbyte.
Das Codebeispiel sollte alle Ausgänge am PCF8574A, die Standardmäßig an sind, ausschalten. An jedem Ausgang wird über ein Transistor eine Diode geschaltet. Das Funktioniert auch alles.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Post by Guido Körber »

Na als erstes muss die IIC Funktion eingeschaltet werden, also ein Report mit ID 1 und einer nachfolgenden 1 zum Einschalten, danach ggf. noch Flags und Timeout.

Um dann zu schreiben sendet man danach Reports mit der ID 2. Darauf folgt ein Byte mit der Zahl der in diesem Report enthaltenen gültigen Datenbytes (ggf. inklusive Adressbyte) und den Flags für das Erzeugen von Start und Stop. Darauf folgen die Datenbytes. Wenn mit dem Report ein Start erzeugt wird, dann ist das erste Datenbyte die IIC Adresse.
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Post by friend-of-rq »

Hallo jacoblange,

wenn Du das Test-Tool All-In-One verwendest, kannst Du deine I2C-Schaltung einfach testen.

Des weiteren kannst Du die Daten die zum und vom IOW gesendet werden im Data-Monitor beobachten.

und auf dein Programm portieren ...

Gruss Ralf
jacoblange
Posts: 5
Joined: Tue Oct 20, 2009 8:59 pm

Re: mit "USB zu IIC Dongle mit IOW24" den PCF8574A ansprechen

Post by jacoblange »

Vielen Dank für die Tips, es funktioniert jetzt.

Wenn das Projekt fertig ist, werde ich mal ein paar Fotos von dem Projekt hochladen.
Post Reply