Hallo erstmal!
Ich würde gerne auf einen PCF8574 über den IIC Bus mit Visual Basic 6 zugreifen. Ich habe dazu den IO Warrior 24 laut Schaltplan im SDK an den USB Bus angeschlossen. Der IO Warrior wird vom PC erkannt und ich kann auf in zugreifen, d.h. per simple io Beispiel die einzelnen Ports steuern.
Jetzt habe ich einen PCF 8574 an den IO Warrior 24 angeschlossen und zwar wie folgt.
IO Warrior PIN SDL -> PCF8574 SDL;
IO Warrior PIN SCL -> PCF8574 SCL;
IO Warrior PIN +5V -> PCF8574 +5V;
IO Warrior PIN GND -> PCF8574 GND;
Alle Adresspins des PCF auf 0
Ansonsten habe ich keine weiteren Bauteile (Kondensatoren/Pull up Widerstände) verwendet, da die Pull-UP Widerstände laut SDK ja schon integriert sind.
Nun habe ich mit dem Visual Basic Beispiel aus dem SDK (IIC->Simple IO)versucht auf diesen Baustein zuzugreifen.
In diesem Beispiel kann ich 7 Bytes senden.
Das erste Byte gibt doch an wieviele Bytes gesendet werden sollen?Also habe ich 3, dann 40 (Write-Adresse des PCF da alle Adresspins auf 0), und dann FF eingegeben.
Es sollten doch jetzt 3 Bytes gesendet werden mit der Adresse HEX40 und dem schreiben von FF auf dem PCF8574
Wenn ich jetzt auf write klicke bekomme ich nur eine Fehlermeldung.
Jetzt meine Fragen:
-Die Eingaben in dem SDK Beispiel muss ich doch in Hex angeben,oder?
-Muß ich bei der Verschaltung dieser beiden IC`s irgendwas beachten,
brauche ich gegebenenfalls weitere Bauteile?
-Hat jemand einen "Verdrahtungsschaltplan" IO Warrior zu PCF8574?
Vielen Dank für Eure Bemühungen im Vorraus!
MFG JM
Probleme Datenübertragung zu PCF8574 mit IIC in Visual Basic
Moderator: Guido Körber
-
Guido Körber
- Site Admin
- Posts: 2880
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Also erst mal brauchen alle ICs einen Siebkondensator für die Versorgungsspannung. Das Thema hatten wir oft genug hier im Forum.
Die angegebenen Daten werden schon dazu führen, dass drei Bytes über den IIC gesendet werden, nur leider ohne Start und Stop und damit werden die von jeglichem IIC Slave ignoriert.
Der richtige Wert für den Bytecount plus Flags wäre $C3.
Die angegebenen Daten werden schon dazu führen, dass drei Bytes über den IIC gesendet werden, nur leider ohne Start und Stop und damit werden die von jeglichem IIC Slave ignoriert.
Der richtige Wert für den Bytecount plus Flags wäre $C3.